Adding interact.

This is an initial implementation of interact.  A simple example:

https://gist.github.com/ellisonbg/7227354

This odd thing is that the bool widgets don't update their state. Is that a bug on your end or mine?