Make name/protocol envs switchable between implementations