Adding ball and generalizing component parsing.
Next idea is to move "draw" to each component.