Tell TypeScript to use EcmaScript 5
Stop calling hasOwnProperty, use a forEach function instead
Add a means to register 'immediate' updates that occur instantly when an object property is changed
Actually register the immediate actions, and perform them when requested
Note how many updates per frame are allowed at 60fps (about 170,000 in Chrome on my system, or 50,000 in FireFox)