Made app it's own event system,

considerably cleaning up the loading process in terms of complexity.