unsubscribe, unsubscribeAll methods added. Publish method correctly resolves master promise correctly