Component-oriented software development | Synapse