Right now Module registers the Messages as, for example, scheduling Blocks for an Application is done through the Module. This is done so that Module can make sure it is not shutting down and this is synchronize properly.
I think that the synchronization problems can be solved so that the handlers do not need to know about Module and can therefore be registered in Application. This would make Module simpler and move code to where it actually belongs.