Hi @mateiz, may I ask why should we add `val`s here?  These two `val` were intentionally removed, so that `pi` and `theta` are merely constructor arguments rather than fields, and won't be serialized together with `NaiveBayesModel`, since they are only used in the constructor to initialize `_pi` and `_theta`.  Is there any consideration that I'm not aware of about Java/Python support here?