Added a basic costDrawer to the interface. Also refactored the component class by moving a lot of the stuff to NormalComponent.