Structs redux.

* Removed `.instances()`, as it was not being used
* Removed `.collection()`, as it was a source of complexity
* Emit `change` only once after `setAttrs()`