Methods and systems for enabling arbitrary components to communicate with
each other. The communication system includes a first set of components
associated with one or more universal interfaces that include mobile
code. The one or more universal interfaces comprise a data source
interface, a data sink interface, an aggregation interface, a mutable
aggregation interface, a context interface, a notification interface or a
user interface. Further, the universal interfaces associated with the
first set of components can be provided to and implemented by a second
set of components to enable the second set of components to communicate
with the first set of components despite the first set and the second set
of component utilizing different communication mediums or protocols.