Since Application is a singleton, does it really make sense to pass it around rather than calling Application::getInstance?  There is perhaps an argument that we might have multiple Application instances in the same process space, but nothing else assumes that.  Also, spacing.