The value and costs of modularity: a problem-solving perspective