That sounds like a fine plan as long as we can ensure that an `onValueChange` event is never fired more than once per change, in every browser. There are a couple of different ways you could store the value to compare against before the `setTimeout`. You could either bind it in the closure that you pass to `setTimeout` as an argument (which would be slower and happen on every keyDown), or you could create a privately scoped bank (javascript object) in this plugin that keys pending values by `renderedTargetID`. I think the first option is dirt simple and less error prone. We can start there and make it faster later once this proves itself. Sound good?