Phil Karlton once said: "There are only two hard things in Computer Science: cache invalidation and naming things."