/// <inheritdoc/>
        public void SubscribeApmCalculatorEvents(ApmCalculatorSessionDataViewModel sessionData)
        {
            mApmCalculatorSessionData = sessionData;

            if (mApmCalculatorSessionData.TrackKeyboard)
            {
                mGlobalHook.KeyUp += ApmCalculator_KeyUp;
            }
            if (mApmCalculatorSessionData.TrackMouseClick)
            {
                mGlobalHook.MouseClick += ApmCalculator_MouseClick;
            }
            if (mApmCalculatorSessionData.TrackMouseDoubleClick)
            {
                mGlobalHook.MouseDoubleClick += ApmCalculator_MouseDoubleClick;
            }
            if (mApmCalculatorSessionData.TrackMouseWheel)
            {
                mGlobalHook.MouseWheel += ApmCalculator_MouseWheel;
            }
            if (mApmCalculatorSessionData.TrackMouseDrag)
            {
                mGlobalHook.MouseDragFinished += ApmCalculator_MouseDragFinished;
            }
        }
        /// <inheritdoc/>
        public void UnsubscribeApmCalculatorEvents()
        {
            mGlobalHook.KeyUp             -= ApmCalculator_KeyUp;
            mGlobalHook.MouseClick        -= ApmCalculator_MouseClick;
            mGlobalHook.MouseDoubleClick  -= ApmCalculator_MouseDoubleClick;
            mGlobalHook.MouseWheel        -= ApmCalculator_MouseWheel;
            mGlobalHook.MouseDragFinished -= ApmCalculator_MouseDragFinished;

            mApmCalculatorSessionData = null;
        }