Moves the Supervisor start and join lines to main which is a more appropriate location.
Explicitly tells rotate method to not return immediately on the second call to make sure execution halts here until the rotation is complete.