Adding application class abstraction

Adding an application class and methods that perform app set up. Assing an abstract initializer class as well top expose a common api for initialization delegates.