title: Fabricjs multiple group using same objects with out any conflict
body: <p>I want to create multiple group using same objects but want them to work independently while I am changing any objects it should not be changed in other group using fabricjs.</p>
  
  <p>As an example, When I am running my fiddle the text is "Default Text" then I am ungrouping it and editing the text,then after group if I add a new group using button then new group text is edited text of previous group,but want it "Default Text" and want both group independent. </p>
  
  <pre><code>var rectangle = new fabric.Rect({
    width: 100,
    height: 100,
    fill: '#ffcc12',
    opacity: 1
  });
  
  
  var textObject = new fabric.IText("Default Text", {
    left: 0,
    top: 0,
    fontSize: 18,
    fill: '#000000'
  });
  
  var group = new fabric.Group([rectangle, textObject], {
    left: 150,
    top: 150
  });
  
  function removegroup() {
    var items = group._objects;
    group._restoreObjectsState();
    canvas.remove(group);
    for (var i = 0; i &lt; items.length; i++) {
      canvas.add(items[i]);
    }
    canvas.renderAll();
  };
  
  function regroup() {
    var items = group._objects;
    group = new fabric.Group(items);
    canvas.add(group);
    for (var i = 0; i &lt; items.length; i++) {
      canvas.remove(items[i]);
    }
    canvas.renderAll();
  }
  </code></pre>
  
  <p><a href="http://jsfiddle.net/ayan27/mGa3k/68/" rel="nofollow noreferrer">Demo</a></p>