component based design via interface theories 4516774