* [Objects] util for equality checking
Add a method for checking object equality, useful for other services.
* [Composition] Draft Composition API
Draft composition API. Composition collections provide an observable
for watching and mutating the composition of an object.
Composition providers implement the loading and modification of composition.
The default composition provider uses the composition attribute of
domain objects, while allowing other providers to implement their
own loading and mutation behavior.
* add todo about event listener bindings
* [Type] Add form property for defining form fields
* [tutorial] Add Composition tutorial
* provider doesn't have to implement events, load returns array of children
* use new composition in old api
* correct key name
* Override instantiate to provide model ids
Override instantiate in public API adapter to prevent making changes to
platform code. Instantiate now passes the id of the domain object with the
model so that capabilities can convert to a new-style domain object and use
that to detect functionality.
* Implement mutation capability with decorator
Implementation mutation capability override with decorator to adapter code
outside of platform. Capability override ensures that models are kept in
sync even though they are no longer shared objects.
* override composition cleanly
Override composition capability without making changes inside platform.
* cleanup after temporary collections
* remove unused try/catch