Docs, and fix to #96

Added few more docs around the observers & how sub-observers work.

Added a fix to #96 by ensuring callbacks have been bound against an
observer before attempting to loop through.