When a class implementing IVariableModel is instantiated in VariableMap, the class is retrieved from the registry via registry.getObject(), rather than the typical registry.getClassFromOptions(). This means that the options dict and its plugins key are not consulted, so VariableModel can only be substituted by manually registering the alternative class as the default with the registry, and not via options.plugins like all other registerable classes. VariableMap should be updated to use getClassFromOptions() instead for consistency.