Make the caching mixing more elegant and use it all the time.