public Maybe<Data.Table> Display(string defaultTableName, Func<Data.Table, Maybe<Exception>> createTable, Func<Data.Table, Tuple<Maybe<Exception>, string>> previewOperation) { DataContext = new Data.Table { Server = "localhost", Name = defaultTableName }; _createTable = createTable; _previewOperation = previewOperation; return ShowDialog() == true ? Maybe.Just((Data.Table)DataContext) : Maybe.Nothing<Data.Table>(); }