api: Pass through $data directly instead of copying by property

* Prevent mistakes such as fixed by Ic5b42c4189.
* Expose the previously-suppressed Root#sets property.

Change-Id: I0d5bf9f7b742db8b49d0af23371389b0a4cdf7a4