Add done callbacks to remote API

Just realized it does not make sense to use the session API for storing the
playback queue given it's per client. We need a shared storage here.