Decouple 2D renderer from component. Closes #32 @2h