private void MakeSerializable(GameObject go, Table table)
        {
            // add table component (plus other data)
            _tb = go.AddComponent <TableBehavior>();
            _tb.SetItemAndData(table);

            var sidecar = _tb.GetOrCreateSidecar();

            foreach (var key in table.TableInfo.Keys)
            {
                sidecar.tableInfo[key] = table.TableInfo[key];
            }
            sidecar.textures       = table.Textures.Values.Select(d => d.Data).ToArray();
            sidecar.customInfoTags = table.CustomInfoTags;
            sidecar.collections    = table.Collections.Values.Select(c => c.Data).ToArray();
            sidecar.decals         = table.Decals.Select(d => d.Data).ToArray();
            sidecar.dispReels      = table.DispReels.Values.Select(d => d.Data).ToArray();
            sidecar.flashers       = table.Flashers.Values.Select(d => d.Data).ToArray();
            sidecar.lightSeqs      = table.LightSeqs.Values.Select(d => d.Data).ToArray();
            sidecar.plungers       = table.Plungers.Values.Select(d => d.Data).ToArray();
            sidecar.sounds         = table.Sounds.Values.Select(d => d.Data).ToArray();
            sidecar.textBoxes      = table.TextBoxes.Values.Select(d => d.Data).ToArray();
            sidecar.timers         = table.Timers.Values.Select(d => d.Data).ToArray();

            Logger.Info("Collections saved: [ {0} ] [ {1} ]",
                        string.Join(", ", table.Collections.Keys),
                        string.Join(", ", sidecar.collections.Select(c => c.Name))
                        );
        }