Add CommandFactory and CommandParser