Ok, I think I'm starting to see how this works.
If fit is called after `__init__` then this sets df_model and df_resid and the extra calculations in the properties are never done.
sound ok