Refactor action/command model