Make the following selection-related methods of the HeatMapDefinition class "protected internal virtual" instead of "internal virtual".
This will allow the developer to properly implement also the selection feature in their custom heat map definition code.