maybe in app constructor we do `this.context(ctx)` and remove the Context constructor from lib/context.js since we'll already be having it here to normalize things a bit