CommandAction splitted into command executing part and CommandActionFactory