Fix terminating condition.
Add a base class for CLI controllers.
Allow pointing to object references in Factory.
Better exception message.
Add new logging method: __call now logs using method name as level and formats message with sprintf using arguments.
Move unhandled exception handling to Application.