Refactor Command and Event
Fix specs