Also, the order of the args for the Size and Position constructors are not specified anywhere. I was surprised to see Position wanted ($y, $x) not ($x, $y). Similar for Size.
I can’t confirm that the parameter positioning is not specified. Instructions of task 3&4 include code snippets, that give a clear view of what is expected where:
I do see that x and y / width and height are used in different order in instruction text vs. constructor parameters. But this is something I would keep. I think, reading what is actually in the instructions instead of doing what one thinks should be done is a useful skill. Anyways, if I’m the only one wanting to keep it as is, I would swap the order in the instructions as swapping the constructor parameters would invalidate previous solutions.