Added CommandFactory Interface
Merge branch 'task3' into task4
Merge branch 'task4' into task5
Fixed after renaming
Fixed task 5 runner after renaming