public void Handle(Command command)
 {
     command.Handle(repository);
 }
 public void Handle(Command command)
 {
     // send the command to separate thread and persist it
     Commands.Enqueue(command);
     signal.Set();
 }