///<summary>
        /// Constructor providing a command, task manager and keys parser.
        ///</summary>
        ///<param name="command">The command to use.</param>
        ///<param name="taskManager">The task manager to use.</param>
        ///<param name="keysParser">The keys parser to use.</param>
        public CommandToolStripMenuItem(MenuCommand command, ITaskManager taskManager, IKeysParser keysParser)
            : base(command.Text, command.Image)
        {
            Enabled = command.CanExecute;
            command.CanExecute.PropertyChanged += (s, e) => Enabled = command.CanExecute;

            if (taskManager != null)
                Click += (s, e) => taskManager.QueueTask(command.Command);
            else
                Click += (s, e) => command.Command.Execute(NullProgressMonitor.CreateInstance());

            if (!string.IsNullOrEmpty(command.Shortcut))
                ShortcutKeys = keysParser.Parse(command.Shortcut.Replace(" ", ""));
        }
        ///<summary>
        /// Constructor providing a command, task manager and keys parser.
        ///</summary>
        ///<param name="command">The command to use.</param>
        ///<param name="taskManager">The task manager to use.</param>
        ///<param name="keysParser">The keys parser to use.</param>
        public CommandToolStripMenuItem(MenuCommand command, ITaskManager taskManager, IKeysParser keysParser)
            : base(command.Text, command.Image)
        {
            Enabled = command.CanExecute;
            command.CanExecute.PropertyChanged += (s, e) => Enabled = command.CanExecute;

            if (taskManager != null)
            {
                Click += (s, e) => taskManager.QueueTask(command.Command);
            }
            else
            {
                Click += (s, e) => command.Command.Execute(NullProgressMonitor.CreateInstance());
            }

            if (!string.IsNullOrEmpty(command.Shortcut))
            {
                ShortcutKeys = keysParser.Parse(command.Shortcut.Replace(" ", ""));
            }
        }