 public class AbstractShapeView: UIView
 {
 	// MARK: - Private properties
+	private var needsShapeCreation = true
 	private var shapeArray: [AbstractShape] = []
 
 	// MARK: - Public properties

		{
			let randomIndex = Int(arc4random_uniform(UInt32(shapeInitializers.count)))
			let shapeInitializer = shapeInitializers[randomIndex]
			
			let shape = shapeInitializer(relativeFrame: randomRelativeFrame(), color: randomColor())
			shapeArray.append(shape)
		}
		setNeedsDisplay()
	}
	
	private func randomRelativeFrame() -> CGRect

	{
		didSet
		{
			setNeedsShapeCreation()
		}
	}
	public var shapeCount = 100
	{
		didSet
		{
			setNeedsShapeCreation()
		}
	}
	public var minShapeSize = CGFloat(0.0)
	{
		didSet
		{
			setNeedsShapeCreation()
		}
	}
	public var maxShapeSize = CGFloat(FLT_MAX)
	{
		didSet
		{
			setNeedsShapeCreation()
		}
	}

