- refactor - split out _as_declarative into functions
- fully factor everything into MapperConfig