private void loadPiece(LevelObjectPiece piece)
        {
            ClearMainArea();

            objectFrameworkArea.Data.MainPanel.AddControl(new TextArea(25, 25, "Name: ") {Color = "black"});
            TextBox textBox = null;
            objectFrameworkArea.Data.MainPanel.AddControl(textBox = new TextBox(100, 5, 290, 25, piece.Name) {Color = "rgb(50,150,50)", Click = (p) => { piece.Name = textBox.Text; }});

            Button b = null;
            objectFrameworkArea.Data.MainPanel.AddControl(b = new Button(40, 160, 70, 25, "XFlip") {
                                                                                                           Color = "rgb(50,150,50)",
                                                                                                           Click = (p) => { piece.Xflip = b.Toggled; }
                                                                                                   });
            b.Toggle = true;
            b.Toggled = piece.Xflip;

            Button c = null;
            objectFrameworkArea.Data.MainPanel.AddControl(c = new Button(115, 160, 70, 25, "YFlip") {
                                                                                                            Color = "rgb(50,150,50)",
                                                                                                            Click = (p) => { piece.Yflip = c.Toggled; }
                                                                                                    });
            c.Toggle = true;
            c.Toggled = piece.Yflip;

            HScrollBox jd;
            objectFrameworkArea.Data.MainPanel.AddControl(jd = new HScrollBox(20, 35, 70, 4, 112) {BackColor = "rgb(50,60,127)"});
            ImageButton<LevelObjectAsset> bd = null;
            jd.Controls = new List<Element>();

            for (var i = 0; i < objectFrameworkArea.Data.ObjectFramework.Assets.Count; i++) {
                bd = new ImageButton<LevelObjectAsset>(objectFrameworkArea.Data.ObjectFramework.Assets[i], 0, 0, 0, 0);
                ImageButton<LevelObjectAsset> bd1 = bd;
                bd.Text = ( (Func<string>) ( () => bd1.Data.Name ) );

                bd.OnDraw = (canvas, x, y) => {
                                if (bd1.Data.Frames.Count == 0) return;
                                bd1.Data.Frames[0].DrawSimple(canvas, new Point(x, y), bd1.Width, bd1.Height - 15, piece.Xflip, piece.Yflip);
                            };
                bd.Click = (p) => {
                               for (var j = 0; j < jd.Controls.Count; j++) {
                                   if (jd.Controls[j] == bd1) {
                                       if (piece.AssetIndex == j)
                                           bd1.Toggled = true;

                                       piece.AssetIndex = j;
                                       continue;
                                   }
                                   ( (ImageButton) jd.Controls[j] ).Toggled = false;
                               }
                           };

                jd.AddControl(bd);
                bd.Toggle = true;
                if (piece.AssetIndex == i)
                    bd.Toggled = true;
            }
        }