Fixed #1 Finished refactoring and tidied up a few things.

Also removed log as it's redundant to a good bouncer.