private GridDefinition GetGridModel()
        {
            return(new GridDefinition {
                InitialPageSize = 20,
                ModuleGuid = Module.ModuleGuid,
                SettingsModuleGuid = Module.PermanentGuid,
                RecordType = typeof(BrowseItem),
                AjaxUrl = GetActionUrl(nameof(DisposableTrackerBrowse_GridData)),
                SortFilterStaticData = (List <object> data, int skip, int take, List <DataProviderSortInfo> sorts, List <DataProviderFilterInfo> filters) => {
                    DataProviderGetRecords <BrowseItem> recs = DataProviderImpl <BrowseItem> .GetRecords(data, skip, take, sorts, filters);

                    foreach (BrowseItem r in recs.Data)
                    {
                        r.Module = Module;
                    }
                    return new DataSourceResult {
                        Data = recs.Data.ToList <object>(),
                        Total = recs.Total,
                    };
                },
                DirectDataAsync = (int skip, int take, List <DataProviderSortInfo> sort, List <DataProviderFilterInfo> filters) => {
                    List <BrowseItem> items = (from k in DisposableTracker.GetDisposableObjects() select new BrowseItem(Module, k)).ToList();
                    DataProviderGetRecords <BrowseItem> recs = DataProviderImpl <BrowseItem> .GetRecords(items, skip, take, sort, filters);

                    DataSourceResult data = new DataSourceResult {
                        Data = recs.Data.ToList <object>(),
                        Total = recs.Total
                    };
                    return Task.FromResult(data);
                },
            });
        }