implement a CommandProcessor and Commands