/// <summary>
        /// Construtor
        /// </summary>
        public ApplicationWindow()
        {
            InitializeComponent();

            mForexConnectConfig = ForexConnectConfigFactory.Create();
            mPriceHistoryConfig = PriceHistoryConfigFactory.Create();

            mController.OnErrorEvent       += this.PriceAPIController_Error;
            mController.OnCollectionLoaded += this.PriceAPIController_CollectionLoaded;
            mController.OnStateChange      += this.PriceAPIController_StateChange;

            mRemoveController.OnErrorEvent         += this.PriceAPIController_Error;
            mRemoveController.OnListPreparedEvent  += this.RemoveQuotesController_Prepared;
            mRemoveController.OnQuotesRemovedEvent += this.RemoveQuotesController_Removed;
        }
        private void ApplicationWindow_FormClosing(object sender, FormClosingEventArgs e)
        {
            mController.OnErrorEvent       -= this.PriceAPIController_Error;
            mController.OnCollectionLoaded -= this.PriceAPIController_CollectionLoaded;
            mController.OnStateChange      -= this.PriceAPIController_StateChange;

            mRemoveController.OnErrorEvent         -= this.PriceAPIController_Error;
            mRemoveController.OnListPreparedEvent  -= this.RemoveQuotesController_Prepared;
            mRemoveController.OnQuotesRemovedEvent -= this.RemoveQuotesController_Removed;

            mController.release();

            // save settings
            ForexConnectConfigFactory.Save(mForexConnectConfig);
            PriceHistoryConfigFactory.Save(mPriceHistoryConfig);
            Properties.Settings.Default.Save();
        }