Separate component logic into ComponentList and complete Services container.