Refactored in preparation for CreateValue, UpdateValue, DeleteValue methods.