In this paper we present AmOS, the Ambient Object System that underlies the Ambience programming language. AmOS implements a computation model that supports highly dynamic behaviour adaptation to changing contexts. Apart from being purely object-based, AmOS features first-class closures, multimethods and contexts. Dynamic method scoping through a subjective dispatch mechanism is at the heart of our approach. These features make of AmOS a very simple and elegant paradigm for context-oriented programming. Key Words: context-oriented programming, subjective dispatch, multiple dispatch, prototype-based programming, ambient intelligence Category: D.3.3 [Programming Languages]: Language Constructs and Features