Any reason you decided to remove caching for fields? I haven't actually tested whether it speeds this up by a lot, but IMO, it's not a big waste of memory.