let's not
choose a better interface
let's see if we can tweak this for perf
implement querying by a given type
corrected some names
implementing invalidation