The idea was that everything other than play should eventually be private (or at least not often used from outside), so it's ok to add the overhead of having to create a Coord to call them (if none exist). play(), however, will see a lot of use from the outside, so forcing to create a Coord could make the API a bit less easy to use.