protected override Task When(Command when) { // If running in debugger... try { _bus.Fire(when); } catch (CommandException ex) { if (ex.InnerException != null) { throw ex.InnerException; } throw; } return(Task.CompletedTask); }