ZF's AbstractHydrator has 2 public methods that are affected by this change:  `extractValue()` and `hydrateValue()`.  They both check for an existing strategy and it's rare that a strategy can be determined without a known `$object`, especially with an abstract base fieldset for entities with a mapped superclass or an inheritance mapping.  So, I prefer to set up the custom strategies in the `prepare()` method.

Essentially, by not preparing in the constructor, you're adding more work by needing to overload more methods from the base class.