private void DoCommandAction(Func<ICommandProcessor, Task<CommandTaskResult>> func)
{
this.toolStripStatusLabel.Text = "Result: ... ";
var task = func(this.master);
task.ContinueWith(cr =>
this.BeginInvoke(new Action(() =>
this.toolStripStatusLabel.Text += cr.Result.ToString()
))
);
}