I don't like the explosion of methods here. Maybe a note that we should remove getType/getSize/getAngle() version. Anyway I don't know why or if we really need to change the name of the member functions. Can we just leave get/setType/Size/Angle?