Extract model dsl into a shared module
Refactor mapper builder