public void PlayTrack(MediaLibrary.Track track,
     Action<MediaState, object, Exception> callback, object state)
 {
     lock (_syncLock)
     {
         Tuple<Action<MediaState, object, Exception>, object> innerState = new Tuple<Action<MediaState, object, Exception>, object>(callback, state);
         QueueRequest(new PlayTrackDelegate(PlaybackServiceClient.PlayTrackAsync), new PlayTrackRequest(track.ConvertToTrack()), innerState);
     }
 }