Removing ES5 setter, adding listener
Ported most of Atom2