A lot of refactoring around removing (x,y) in favor of an immutable Position. It seems to pay off.