Change reference objects to use standard JavaScript prototypal inheritance. Use methods attached to the prototype, rather than every object. It currently uses this style (attaching to each object), which we should switch away from:
this.getIcon = function () {
We should use OOjs for this (not OOjs UI yet, though).