Feature/cleanup

A cleanup of the app
Stop forgetting about subscriptions, minor accessibility changes.
Wrap this up in a Defer() to stop any exceptions from happening outside the stream