public Item CreateItem(IItemSettings settings = null) { if (settings == null) { return(_baseToy.Clone()); } else { return(new Toy(settings)); } }