////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Process the bitcoin spend message described by msg. </summary>
        ///
        /// <param name="msg">  The message. </param>
        ///
        /// <returns>   True if it succeeds, false if it fails. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        bool ProcessBitcoinSpendMessage(BitcoinSpendMessage msg)
        {
            Console.WriteLine("Received Bitcoin Spend Message", Color.Aqua);
            RILogManager.Default?.SendInformation("Received Bitcoin Spend Message");
            SpendMoney();
            return(true);
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Executes the start action. </summary>
        ///
        /// <param name="host"> The host. This may be null. </param>
        ///
        /// <returns>   True if it succeeds, false if it fails. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public new bool OnStart([CanBeNull] HostControl host)
        {
            base.Start(host);
            Host = host;
            const double interval = 60000;

            _timer           = new Timer(interval);
            _timer.Elapsed  += OnTick;
            _timer.AutoReset = true;
            _timer.Start();
            Subscribe();

            using (var scope = _container?.BeginLifetimeScope())
            {
                var logger = scope?.Resolve <MSBaseLogger>();
                logger?.LogInformation(Name + " Microservice Starting");
                Console.WriteLine(Name + " Microservice Starting", Color.Yellow);
            }

            BitcoinSpendMessage m = new BitcoinSpendMessage();

            m.amount = .50M;
            Bus.Publish(m, "Bitcoin.Spend");
            return(true);
        }