This seems like a very similar idea to namespace. Is there a particular reason to use this instead?