Refactory Aggregate, Command, Event design.