Testing
Used inheritance to reduce duplicate code
Allow setting of UUID and URI value types
cleanup