protected void _Notify(TOut result)
 {
     ResultGenerated?.Invoke(PossibleResult <TOut> .Of(result));
 }
 protected void _Finish()
 {
     ResultGenerated?.Invoke(PossibleResult <TOut> .Done());
 }
 protected void _Err(Exception error)
 {
     ResultGenerated?.Invoke(PossibleResult <TOut> .Of(error));
 }