changed ZCA so that the choice of whether to store the inverse is made in the constructor, not in fit(). Did this because often fit() isn't called directly; it's called by dataset.apply, which doens't know about this option.