Slight refactor. Subscriptions are now stored.

Slightly refactored how collections are created and their private
methods. Tidied up stuff so that promises are used in a more
meaningful way. The API got a bit more straightforward.

Subscriptions are now stored, so they can be referenced after they
are created.
Version 0.1.8