Added ParameterDefinition and refactored some more.