One distinct characteristics of the context-aware systems is their ability to react and adapt to the evolution of the environment, which is often a result of changes in the values of various (possibly correlated) attributes. Based on these changes, reactive systems typically take corrective actions, e.g., adjusting parameters in order to maintain the desired specifications of the system's state. Pro-active systems, on the other hand, may change the mode of interaction with the environment as well as the desired goals of the system. In this paper we describe our (ECA)2 paradigm for reactive behavior with proactive impact and we present our ongoing work and vision for a system that is capable of context-aware adaptation, while ensuring the maintenance of a set of desired behavioral policies. Our main focus is on developing a formalism that provides tools for expressing normal, as well as defeasible and/or exceptional specification. However, at the same time, we insist on a sound semantics and the capability of answering hypothetical "what-if" queries. Towards this end, we introduce the high-level language that can be used to describe the dynamics of the problem domain, specify triggers under the (ECA)2 paradigm, and reason about the consequences of the possible evolutions.