Even modern component architectures do not provide for easily manageable context-sensitive adaptability, a key requirement for ambient intelligence. The reason is that components are too large – providing black boxes with adaptation points only at their boundaries – and to small – lacking good means for expressing concerns beyond the scope of single components – at the same time. We present a framework that makes components more fine-grained so that adaptation points inside of them become accessible, and more coarse-grained so that changes of single components result in the necessary update of structurally constrained dependants. This will lead to higher quality applications that fit better into personalized and context-aware usage scenarios.