diff --git a/src/lib/bases/BaseElementContainer.ts b/src/lib/bases/BaseElementContainer.ts
index 9d155de35bbab3880a7efa968fe6df66f066535b..8b7624ac5550ff48f9302e7a640d20f43988722c 100644
--- a/src/lib/bases/BaseElementContainer.ts
+++ b/src/lib/bases/BaseElementContainer.ts
@@ -15,9 +15,15 @@ export abstract class BaseElementContainer<T extends Models.ImageObject> extends
     protected constructor(model: T) {
         super();
 
+        // Defaults
+        if (!model.id) {
+            model.id = uuid.v4();
+        }
+
         // Setup
         this._model = model;
-        this.name = model.id || uuid.v4();
+        // @ts-ignore
+        this.name = model.id;
     }
 
     //<editor-fold desc="Getter and Setter">
diff --git a/src/lib/elements/collections/FillCollection.ts b/src/lib/elements/collections/FillCollection.ts
index 4b3a15a9e5d20758ac84b71e4022331e1284573b..ed7d09432598c15596b32e306b04d00d49df21d5 100644
--- a/src/lib/elements/collections/FillCollection.ts
+++ b/src/lib/elements/collections/FillCollection.ts
@@ -264,7 +264,7 @@ export class FillCollection extends BaseElementContainer<Models.FillCollection>
 
         // Begin draw
         if (this.model.options.fillColor) {
-            this._fillElement.beginFill(this.model.options.fillColor, this.model.options.fillAlpha);
+            this._fillElement.beginFill(this._fillColor, this._fillAlpha);
         }
 
         // Get first element and moveTo this
@@ -739,24 +739,18 @@ export class FillCollection extends BaseElementContainer<Models.FillCollection>
         this.draw();
 
         this.getImage().itemInteractive(new PIXI.interaction.InteractionEvent(), this);
-        if (this.model.interactiveItems) {
-            this.model.interactiveItems.forEach((model: Models.ImageObject) => {
-                const element = this.getImage().getChildByName(model.id || "new") as ImageObject;
-                element.showItem();
-            });
-        }
+        this.interactiveItems.forEach((element: ImageObject) => {
+            element.showItem();
+        });
     }
 
     protected _onInteractiveRelease(): void {
         this._fillAlpha = this._fillAlphaInteractive;
         this.draw();
 
-        if (this.model.interactiveItems) {
-            this.model.interactiveItems.forEach((model: Models.ImageObject) => {
-                const element = this.getImage().getChildByName(model.id || "new") as ImageObject;
-                element.hideItem();
-            });
-        }
+        this.interactiveItems.forEach((element: ImageObject) => {
+            element.hideItem();
+        });
     }
 
     protected _onRelease(): void {
@@ -832,14 +826,12 @@ export class FillCollection extends BaseElementContainer<Models.FillCollection>
         if (this.model.isInteractive) {
             this._configurationElement.addChild(this._interactiveChooseButton);
         } else {
-            const items = this.model.interactiveItems;
+            const items = this._interactiveItems;
+            this.interactiveItems = [];
             this.model.interactiveItems = []; // Remove existing items
-            if (items) {
-                items.forEach((model: Models.ImageObject) => {
-                    const element = this.getImage().getChildByName(model.id || "new") as ImageObject;
-                    element.modeInteraction.changeMode("blocked", this);
-                });
-            }
+            items.forEach((element: ImageObject) => {
+                element.modeInteraction.changeMode("blocked", this);
+            });
             this._configurationElement.removeChild(this._interactiveChooseButton);
         }
 
diff --git a/src/lib/elements/primitives/LegendTextPrimitive.ts b/src/lib/elements/primitives/LegendTextPrimitive.ts
index 1466d8fea2eddf5c44114a0b93d66e3758d397da..89963b68215491db164949c77cc2331ccb1d2329 100644
--- a/src/lib/elements/primitives/LegendTextPrimitive.ts
+++ b/src/lib/elements/primitives/LegendTextPrimitive.ts
@@ -89,7 +89,7 @@ export class LegendTextPrimitive extends BaseElementContainer<Models.LegendItem>
 
         // Setup
         this.zIndex = 300; // TODO how to implement moveToFront etc...
-        this._style = this.model.style;
+        this._style = new PIXI.TextStyle(this.model.style);
         this._startTextIndex = this.model.text.length;
         this._endTextIndex = this.model.text.length;
         this._textSelection = false;
@@ -149,7 +149,7 @@ export class LegendTextPrimitive extends BaseElementContainer<Models.LegendItem>
         this._selectionElement = new SelectionElement(this._writeInteraction);
         this._rotateContainer.addChild(this._selectionElement);
 
-        this._textElement = new PIXI.Text(this.model.text, this.model.style);
+        this._textElement = new PIXI.Text(this.model.text, this._style);
         this._textElement.zIndex = 100;
         this._rotateContainer.addChild(this._textElement);
 
diff --git a/src/lib/elements/primitives/TextPrimitive.ts b/src/lib/elements/primitives/TextPrimitive.ts
index ce98a7652f4f760f49337500cf03ba3eb0118bb9..17e181b0376bc225d5d48435584e0530a44a89a2 100644
--- a/src/lib/elements/primitives/TextPrimitive.ts
+++ b/src/lib/elements/primitives/TextPrimitive.ts
@@ -121,7 +121,7 @@ export class TextPrimitive extends BaseElementContainer<Models.TextPrimitive> {
         // Setup
         this.zIndex = 300; // TODO how to implement moveToFront etc...
         // this._color = this.model.style.fill;
-        this._style = this.model.style;
+        this._style = new PIXI.TextStyle(this.model.style);
         this._startTextIndex = this.model.text.length;
         this._endTextIndex = this.model.text.length;
         this._textSelection = false;
@@ -183,7 +183,7 @@ export class TextPrimitive extends BaseElementContainer<Models.TextPrimitive> {
         this._selectionElement = new SelectionElement(this._writeInteraction);
         this._rotateContainer.addChild(this._selectionElement);
 
-        this._textElement = new PIXI.Text(this.model.text, this.model.style);
+        this._textElement = new PIXI.Text(this.model.text, this._style);
         this._textElement.zIndex = 100;
         this._rotateContainer.addChild(this._textElement);