The need to encode priorities is worrying - what is the nature of the interdependence between the components, and could it be encoded by the use of dependence on component members supplied via IoC references occuring as part of the component options rather than as listener priorities?