Refactoring by making manipulators dumb and giving extractors more power