For me it's about side affects and trying to keep them out of the constructors.  Also this is one case where I think it is better to have a constructor/apply for each case (with and without a callback) rather than having an option that defaults to none.  Again, because there are side affects and because callbacks can be added after the fact the option becomes meaningless post construction.