accessProp() was resetting the value of properties on objects to undefined as it was iterating over them and accessing them. Ensure that we don't set the value of a property we're accessing by more stringent check for whether we're working in "set" mode.
…rectly In the previous version, if a context was supplied, document.querySelectorAll(selector, context) was called. However, this only works if the node represented by context is part of the DOM already. By calling querySelectorAll() on the context node directly, we can query nodes which aren't in the DOM yet.