Language constructs for context-oriented programming: an overview of ContextL
Dynamically Composable Collaborations with Delegation Layers