This file name is kind of weird right now - why don't we just move all these classes into the CachePolicy.scala file?