Recently I noticed that data that has been assigned via the data: {} property will not only get put on this.$ but also on this.
Assigning properties via this.$.myProp = { a: 1, b: 2} only inserts them on scope and doesn't put them onto the this object of the controller.