Issue #31: cache interface, test and void impl