"There are only two hard things in CS: cache invalidation and naming things." -- Phil Karlton