Ongoing ReferenceProperty work

Completely rewrite tests and refactor implementation to handle sub-properties and definitionChanged events.