Went with a command based strategy