public static void Handle(RegisterUser command, UserRepository repository)
        {
            Console.WriteLine("Called with repository #{0}", repository.GetHashCode());

            repository.Save(new User
                {
                    Name = command.Username,
                    Password = command.Password,
                });
        }
        public CommandDispatcher Initialize(params string[] args)
        {
            var dispatcher = new CommandDispatcher();

            var repository = new UserRepository();

            dispatcher.Handles<RegisterUser>(
                command => Logging.Log(command, () => CommandHandlers.Handle(command, repository)));

            return dispatcher;
        }