We discuss a generic architecture for building user-centric systems. The characteristic feature of such systems is a control loop that monitors the user’s state, and produces a harmonized response. In order to adaptively respond to changes of the user’s state, we propose an architecture with supervising loops. This allows the primary control loop to be written in a straight-forward way, and add adaptivity on a different level. We illustrate our approach with an example scenario that describes computer vision based adaptive interaction. Key words: components, reflective systems, adaptation, reconfiguration