rename CommandParser to CommandFactory.