the Command interface with implementations + CommandParser