I have a `popup` component, various params, used various places. I'm also trying to make sure I dispose appropriately of unused data to prevent memory leaks - still a bit confused about exactly when dispose is called generally, some more documentation about cleaning up might be helpful - though some of my confusion has been caused by it being called on my view models when the HTML element is still on the page, possibly related.
Regardless - I was passing `foo.bar.observable() && foo.bar.observable().observableProperty()` as a param to the `popup` component, which was immediately triggering `dispose`. After extensive `console.log` statements in knockout's internals, I discovered if I instead pass `foo.bar.baz` and set `self.baz = ko.pureComputed(function() { return self.observable() && self.observable().observableProperty() });`, `dispose` is not called immediately.
Is this immediate call to `dispose` the intended behavior? If so, is there some nifty trick this enables that is non-intuitive to me?