public DrawableGameComponent() {
    super();
    this.drawOrder = 0;
    this.visible = true;

    this.initialize();
    // this.loadContent();

    SignalSlotMap.fastConnect(
        this,
        SIGNAL_DRAW_ORDER_CHANGED,
        SlotProviderMethodPair.create(this, "onDrawOrderChanged", Integer.class));
    SignalSlotMap.fastConnect(
        this,
        SIGNAL_VISIBLE_CHANGED,
        SlotProviderMethodPair.create(this, "onVisibleChanged", Boolean.class));
  }
 public void setVisible(boolean visible) {
   this.visible = visible;
   Boolean value = this.visible;
   SignalSlotMap.fastEmit(this, SIGNAL_VISIBLE_CHANGED, value);
   value = null;
 }
 public void setDrawOrder(int drawOrder) {
   this.drawOrder = drawOrder;
   Integer value = this.drawOrder;
   SignalSlotMap.fastEmit(this, SIGNAL_DRAW_ORDER_CHANGED, value);
   value = null;
 }