You don't add binding to your component, but simply support binding to your properties by marking them as such in your component's beaninfo. Bindings themselves are not part of a component--they are stored in a window's InteractionController.
Event script support is automatically available to all components. Extension functions can be supported by setting them up in the beaninfo. This post from last year shows all of this:
Note that all of these features are intended to allow your users to attach functionality to your components at design-time. If you want functionality to be built-in, you should be attaching your own event listeners (in java) to your components at component creation time. You should not be populating design-time data structures.