move play/stop logic to separate class