A lot of this logic could remain in AbstractAggregatorImpl.  Lets create an abstract initialize() method in AbstractAggregatorImpl that will be called by this method, and move the non-OSGi specific code into AbstractAggregatorImpl.initialize().

If we could replace the use of IConfigurationElement with a hash map of config name/value pairs, then we could move even more logic back into AbstractAggregatorImpl.