better namespacing has to start with parsing and serializing - what's a valid NS, anyway? I've decided to go with making the 'root' namespace the empty list/null string - which is slightly inconsistent, but I'd rather do that than change the type to None.
More things for #2 - F_TREE and F_SNAPSHOT subscription flags, making Things and namespaces the same object, allowing exploration of the existing namespaces. No exception handling exists yet in the dispatch though, so if there is an error in an event handler, it will break the client thread...