This should not be strongly piped, but instead accept a flexible shape similar to both ParameterMetadata and a JSON schema. The goal is to take either "live" objects or and easily recreate them. To avoid more internal complexity, this implies: * [ ] #1008