Base application framework

And this time, there's limited modularity involved until I need it!