refactor; and add completexContext/failedContext/ContextMessage handlers

use `{0}` template for logging