refactor; and add completexContext/failedContext/ContextMessage handlers

forgot `{0}`