Refactored the configuration layer, and expose a 'configure' command

but this does not change the fact that most 5.3 users will still use the builtin json_encode implementation