Refactoring abstract application class