I have a high level questions about subscription handling in Angular2. I've read a lot recently about how poor subscription handling can lead to memory leaks in your code due to not properly unsubscribing.
An easy solution for @Components is to meet all the subscriptions around and handling them in ngOnDestroy lifecycle event.
However, for controllers that are not part of @Component and do have subscriptions, what's the best approach to properly unsubscribing? Currently, I am thinking of having the controller expose either the subscriptions, or its own onDestroy method, but this doesn't feels like it can be done easily/generically so I'd love to hear other options/opinions.
Thanks!
Edit: clarifying that this is not a service issue, but just a controller issue.