Rework public interface a bit; still not quite right, but closer
Get rid of IToken interfaces