/// <summary>Client requests the server for the next key value.</summary>
        /// <returns>The key to send to the client's active application.</returns>
        public async Task <KeyCommand> Get()
        {
            var key = KeyCommand.Nothing;

            Log.Trace("A key was requested.");

            try
            {
                key = await CommandQueue.DequeueAsync();
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }

            Log.Trace("The key {0} is being returned.", key);
            return(key);
        }