Added a ComponentBase class for the components and made the component handling uniform. No per component code in robot.py