You’re not limited to using the built-in bindings like click, value, and so on — you can create your own ones. This is how to control how observables interact with DOM elements, and gives you a lot of flexibility to encapsulate sophisticated behaviors in an easy-to-reuse way.
For example, you can create interactive components like grids, tabsets, and so on, in the form of custom bindings (see the grid example).
Registering your binding
To register a binding, add it as a subproperty of ko.bindin