Remove IApplication and make Application abstract