Passing callback to subscribe should be optional

This makes reattaching listener's after `unsubscribe` trivial