Updated repository with examples of an app
Started with a lowlevel layer that handles server creation and starting. So that it's easily swappable and extendable
Added the abstraction layer for the server. Also added a hook to wrap the server so we're unable to turn it off in tests