Small refactoring

Commits:

1. It's better do not use all the container when it possible
2. Add support of multiple options (needed for #30)
3. Extract some code to separate class for making `Dumper` class much cleaner