Some refactoring, made rectangles aware of how to Draw.