as some of you may have noticed, I've been into data binding technology recently. I've run from failed concept of "binding-record-to-component", through "binding-components-to-record" implemented in Ext.data.Record, to Bind Manager that finally looks pretty usable and universal, yet simple enough.
BindMgr is a singleton that manages records (as many of them as you need, from as many stores as you need - or standalone records) and components bound to them. The idea is that after you bind a component to a record, the component will be informed about data changes in that record. If component has afterEdit, afterReject, afterCommit, onBind and onUnbind methods they will be called with the record causing the change as argument.
Re id: Bound components are internally stored in an object and keyed by their id for easy reference. Ext assign ids anyway.
Re Record (last version): It is fully functional but I started to doubt that it will find its way to to the core. I also started to realize that data binding functionality should be separated from the record itself. I will update the Feature Request thread.
Plugin to components? I dropped the idea for more reasons:
1) concept of binding record to component failed. Good concept is: bind components to record
2) it is too much overhead of add plugin to all components you want to bind
3) you can have many records from many stores and many components bound to them at the same time
So the concept of sigleton BindMgr is best I can see at present.