support ~/.pmp.yaml config files in Client
refactor type constraints into their own class