Restructured Component class so method interfaces are cleaner and can be more consistent. TODO: move DrawComponent and RendererComponent from the world of components. Since they have different behavior, and do not follow the component interface (as well as they don't get added to entities), there is no reason to make them components. They must become standalone graphics util classes. Better names for them might be Display (instead of DrawComponent) and Renderer (instead of RendererComponent)