fix history, refactor HistoryManager, refactor CommandFactory, parse arguments in Commands themselves