AIPlayer now takes an Play* instead of returning one