processing plays on the backend, broken with the channel API for now