Registers fn as the instance factory used during cloning.
fn
E whenCreateInstance(E Function(E self) fn) { _whenOnCreateInstanceFn = fn; return self; }