public void addModule(Module module){
  mModules.add(module);
  registerListeners(module);
  registerProviders(module);
}

public void addModule ( Module module ) { mModules . add ( module ) ; registerListeners ( module ) ; registerProviders ( module ) ; }
adds a module to the processing chain . each module is tested for the interfaces that it supports and is registered or receives a listener to consume or produce the supported interface data type . all elements and events that are produced by any module are automatically routed to all other components that support the corresponding listener interface . at least one module should consume complex samples and either produce decoded messages and / or audio , or produce decoded real sample buffers for all other modules to consume .
