A generic concept of a namespace. Needs to have scope added at some point so that scope may be added and removed in a stack like way.