sparsity and bandwidth are estimation results, it's better to attach them to the results instance directly.
I don't see that you need it in model outside of fit.

(That minimizes how much "state" the model holds about results.)

simple way: drop ``self`` here and make the assignments directly to the result instance, after you have created it at the end of fit

(cleaner way: refactor Results to take a **kwds of any additional attributes we want to have attached)