A simple dictionary implementation that can use any object as a key