I really like the code, I think it's very well written!<p>A couple small suggestions and thoughts:<p>Add a couple lines so that all methods return this; to allow for chaining, especially helpful when using it as a mixin.<p>Rename bind/unbind method names since they have completely different meanings/uses in ES5:<p><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind" rel="nofollow">https://developer.mozilla.org/en/JavaScript/Reference/Global...</a><p>P.S. If you're down with those changes I'll gladly fork, update and send a pull req, although not sure what you'd want to rename the api too.
Reminds me of <a href="https://github.com/jivesoftware/jiverscripts" rel="nofollow">https://github.com/jivesoftware/jiverscripts</a>. Check out the conc.observable component