Do not allow 'optional' parameters. Rename MatrixRotation2D to RotateByAngle2D and change it to take only one parameter - angle. Rotation by a matrix will be covered in a future AffineTransformation model