there are two ``callback`` arguments in sklearn.decomposition -- its a very elusive argument, the docstring says: "called eve