Added unsubscribeAll publisher method, Changed the return value of the subscription method into a subscription object with a dispose method.
Added sub hierarchy in the example