One thing that bugs me is Core::Context. It is created in the app from the request, contains a reference back to the app, and the app contains a reference to itself. It holds both data and actions, but neither on itself.
Until now I wasn't even sure what the hell it is exactly meant for. Now I understand it better, and it seems like we could actually remove it (and some duplicate code that exists there) in favor of making the Core::Request object more aware of able.
I'd like to get some opinions on this.