Really Good: Most state updates are triggered by DOM events. That means that we won't end up needing the setTimeout.

Optimization: We can clear the pending `setTimeout` that was set up in `setNeedsUpdate `, as soon as we `performPendingUpdates`. I hear those `setTimeout`s can really clog the pipes.

Concerns: Not all state updates happen in the same event tick. Browser events that trigger state updates are flushed in the same event tick, but other preemptive events that trigger state updates are not (like ajax responses, `setInterval` etc).