Update `play` function with more bizarre stuff

- we now automatically ask play to "run" when no arguments are given (and then defer to the user)