Depends on how this code is to be exposed- if it's an internal utility (as it is now), then top-level methods are probably correct. If it becomes a part or is re-exported like the rest of the code here then there's too much pollution of the top-level namespaces and the class namespacing is cleaner. 

I'm ambivalent and can change, primarily looking for feedback at this time on how URIs should behave.