1. A method for providing a context-aware environment, the method comprising: receiving an action request; updating a context state according to the action request; determining whether the new context state comprises a completed objective; in response to determining that the context state does not comprise the completed objective, providing a suggested next action.