ce3cc72f9e
Position and subclasses handle the logic, external to the classes, so it can be swapped out later (at runtime positions can’t change)