public static GuiFrameWindow BeginTransaction(this GuiSession session, string transactionID, Predicate <GuiFrameWindow> validation, Func <GuiFrameWindow, Exception> errorBuilder)
 {
     return(session.BeginTransactionImpl(transactionID, validation, errorBuilder));
 }
 public static GuiFrameWindow BeginTransaction(this GuiSession session, string transactionID, Predicate <GuiFrameWindow> validation, Func <GuiFrameWindow, string> errorFormatter)
 {
     return(session.BeginTransactionImpl(transactionID, validation, x => new Exception(errorFormatter(x))));
 }