Remove activesupport dependency

Hashes can still be converted by the consumer
Refactoring; drop defaults

plus small refactoring