public virtual async Task PushSomeWordToAnotherUser(WordParameters parameters, CancellationToken cancellationToken)
        {
            string to   = parameters.to;
            string word = parameters.word;

            await MessageSender.Value.SendMessageToUsersAsync("NewWord", new { Word = word }, new[] { to });
        }
        public virtual async Task PushSomeWordToAnotherUsingBackgroundJobWorker(WordParameters parameters, CancellationToken cancellationToken)
        {
            string to   = parameters.to;
            string word = parameters.word;

            await BackgroundJobWorker.Value.PerformBackgroundJobAsync <IMessageSender>(messageSender =>
                                                                                       messageSender.SendMessageToUsers("NewWord", new { Word = word }, new[] { to }));
        }