Lazy listen in StreamRouter, cancel subscription when no longer needed.

Closed #28.
I think line 92 needs to be removed, it's the same as 91