public void Initialize(GUIHandlers guiHandlersPassed)
    {
        this.cube = this.gameObject.GetComponent <CubeViewModel>();

        this.guiHandlers            = guiHandlersPassed;
        this.guiHandlers.OnRotateX += OnRotateX;
        this.guiHandlers.OnRotateY += OnRotateY;
        this.guiHandlers.OnRotateZ += OnRotateZ;
        this.guiHandlers.OnScaleX  += OnScaleX;
        this.guiHandlers.OnScaleY  += OnScaleY;
        this.guiHandlers.OnScaleZ  += OnScaleZ;

        cachedAngles = cube.transform.rotation.eulerAngles;


        colorList = new List <Color>();

        colorList.Add(Color.red);
        colorList.Add(Color.black);
        colorList.Add(Color.blue);
        colorList.Add(Color.cyan);
        colorList.Add(Color.green);
        colorList.Add(Color.magenta);
        colorList.Add(Color.yellow);
    }
    public void Initialize(GUIHandlers guiHandlersPassed)
    {
        this.cube = this.gameObject.GetComponent<CubeViewModel>();

        this.guiHandlers = guiHandlersPassed;
        this.guiHandlers.OnRotateX += OnRotateX;
        this.guiHandlers.OnRotateY += OnRotateY;
        this.guiHandlers.OnRotateZ += OnRotateZ;
        this.guiHandlers.OnScaleX += OnScaleX;
        this.guiHandlers.OnScaleY += OnScaleY;
        this.guiHandlers.OnScaleZ += OnScaleZ;

        cachedAngles = cube.transform.rotation.eulerAngles;

        colorList = new List<Color>();

        colorList.Add(Color.red);
        colorList.Add(Color.black);
        colorList.Add(Color.blue);
        colorList.Add(Color.cyan);
        colorList.Add(Color.green);
        colorList.Add(Color.magenta);
        colorList.Add(Color.yellow);
    }