Also, existing code wouldn't call calculation post-listeners if pre-listeners had been called. Fixes that.