Using onInvalidate instead of onStop because it makes much more sense. Suppose you have a global subscription like this:
Tracker.autorun ->
subsCache.subscribe('post', Session.get('postId'))
We want the delayedStop
to start whenever this computation is rerun, not when its stopped because it will never be stopped during the lifetime of the app.
Error if you didnt pass an object!
Added onReady callbacks. Also forgot the reactive-var dependency