This is pretty much a rewrite -- I guess it would replace the OptionsResolver PR.