anchor.diff:               define Entity.BackgroundImageOpt None
                define Entity.Justification (Justified (JustifyLeft, JustifyMiddle))]
   
  -        override this.Actualize (text, world) =
  -            if text.GetVisible world then
  -                match text.GetBackgroundImageOpt world with
  +        override this.Register (entity, world) =
  +            let world = bind (entity.Model<string> ()) entity.Text world
  +            let world = bind entity.Text (entity.Model<string> ()) world
  +            world
  +
  +        override this.Actualize (entity, world) =
  +            if entity.GetVisible world then
  +                match entity.GetBackgroundImageOpt world with
                   | Some image ->
  -                    let transform = text.GetTransform world
  +                    let transform = entity.GetTransform world
                       World.enqueueRenderMessage
                           (LayeredDescriptorMessage
                               { Depth = transform.Depth
  
positive.code:         inherit GuiDispatcher ()
          
          let handleMouseLeftDown evt world =
              let toggle = evt.Subscriber : Entity
              let data = evt.Data : MouseButtonData
              if toggle.GetSelected world then
                  let mousePositionWorld = World.mouseToWorld (toggle.GetAbsolute world) data.Position world
                  if  toggle.GetVisible world &&
                      Math.isPointInBounds mousePositionWorld (toggle.GetBounds world) then
                      if toggle.GetEnabled world then
                          let world = toggle.SetPressed true world
                          (Resolve, world)
                      else (Resolve, world)
                  else (Cascade, world)
              else (Cascade, world)
  
          let handleMouseLeftUp evt world =
              let toggle = evt.Subscriber : Entity
              let data = evt.Data : MouseButtonData
              if toggle.GetSelected world then
                  let wasPressed = toggle.GetPressed world
                  let world = toggle.SetPressed false world
                  let mousePositionWorld = World.mouseToWorld (toggle.GetAbsolute world) data.Position world
                  if  toggle.GetVisible world &&
                      Math.isPointInBounds mousePositionWorld (toggle.GetBounds world) then
                      if toggle.GetEnabled world && wasPressed then
                          let world = toggle.SetOpen (not (toggle.GetOpen world)) world
                          let eventAddress = if toggle.GetOpen world then Events.Open else Events.Close
                          let eventTrace = EventTrace.record "ToggleDispatcher" "handleMouseLeftUp" EventTrace.empty
                          let world = World.publish () (eventAddress --> toggle) eventTrace toggle true world
                          let eventTrace = EventTrace.record4 "ToggleDispatcher" "handleMouseLeftUp" "Toggle" EventTrace.empty
                          let world = World.publish () (Events.Toggle --> toggle) eventTrace toggle true world
                          let world =
                              match toggle.GetToggleSoundOpt world with
                              | Some toggleSound -> World.playSound (toggle.GetToggleSoundVolume world) toggleSound world
                              | None -> world
                          (Resolve, world)
                      else (Resolve, world)
  
negative.code:                                       Offset = Vector2.Zero
                                        InsetOpt = None
                                        Image = image
                                        Color = if entity.GetEnabled world then Color.White else entity.GetDisabledColor world
                                        Glow = Color.Zero
                                        Flip = FlipNone }})
                          world
                  | None -> world
              else world
  
          override this.GetQuickSize (entity, world) =
              match entity.GetBackgroundImageOpt world with
              | Some image ->
                  match Metadata.tryGetTextureSizeF image (World.getMetadata world) with
                  | Some size -> size
  