Would it be better to have protected methods for reading/writing the cache data? That would allow connection subclasses to do their own thing if they want.