Refactor to support keys instead of codes
Merge branch 'config-format-refactor' into development