Simple Cache from https://github.com/erlware/Erlang-and-OTP-in-Action-Source