Keep caches of dictionary, filtered by frequency
(This makes most lookups much faster)
Also remove last traces of retrieving dictionary asynchronously, since
it is require()d in we can act as if it's synchronous. Memoize fns in
place