private void Dispatch(Action action)
        {
            if (!_canvasView.CheckAccess())
            {
                _canvasView.Dispatcher.BeginInvoke(new Action <Action>(Dispatch), action);
                return;
            }

            action();
        }