bug fixes

* defaults are now added as their own model to the bottom of the context
* .has() on models to check for value's existance
* observe ensures all paths exist for query