I'm not sure if I don't quite understand or if this is a bug.
The function add_model() in core/classes/fieldset.php takes 3 parameters. There is also a function add_model() in core/classes/form.php which is an alias for $this->fieldset->add_model(). The add_model() function in form.php calls the add_model() function in fieldset.php, however it only uses 1 of the 3 parameters: $this->fieldset->add_model($class).
It seems that it should call with all 3 parameters: $this->fieldset->add_model($class, $instance, $method)
One unintended result will be that the $method will always default to 'set_form_fields' and cannot be changed.