Refactor base component interface to move start() methods out of subinterfaces and abstract the start process from all component implementations.