Refactored play method.