The Extension Key is a name invented to refer to the class that handles the extensions of the data type that we want to use as a key, things like for example "KEY".Dispatch(); implies that a string type key is being used
By default we allow the use of string and int. But that doesn't stop you from wanting to include more key types, such as a custom enum.