added support for cross component binding.  i.e. component A can be bound to component B, and component B can also be bound to a different attr from component A