Ok yeah, that makes more sense, though I still don't see the need if we're doing a check in subscribeObservable. We're essentially using a lighter-weight check (defined(blah.blah)) to bypass a heavier check (getObservable(blah, blah) == null). I'd be more inclined to have the check in subscribeObservable() that's something along the lines of if(!object.hasProperty(propertyName)) return null;

We still have to enter subscribeObservable(), but this centralizes the check.