Rework command system and add more triggers.