Binding API

Refactored binding API to be independent of the DOM and have similar structure to the other components. Thoughts?