Global refactorings:

1. Extract commands to modules
2. Refactor specs