Introduced the concept of "creators" that build the trie, so different tactics can be chosen.
Feel dubious about possible complexity... Just pick a strategy?... or am i arbitrarily limiting myself?
Mapping over the data.
Right, `interface{}` can be turned into `TrieNodeInterface` to allow other interfaces later on.
Split up files
Lots of renaming, in the namespace anyway
Replaced downward with something that just steps down one by one,
removing the need for reimplementation of some implementation in each instance
Creator can be passed as argument. Actually, default arguments might have been nice here..
a somewhat clumsy workaround would be to default if `c, ok := to.TrieCreator` is not ok.