Fixed a few style errors & refactored some more
Now returns a value from subscribe, could be useful.