Add macros for extending and destroying tokens
Rearrange namespaces