static void Main(string[] args)
        {
            Rectangle rectangleRed = new Solution.Rectangle()
            {
                Color = new Red()
            };
            Rectangle rectangleGreen = new Solution.Rectangle()
            {
                Color = new Green()
            };
            Rectangle rectangleBlue = new Solution.Rectangle()
            {
                Color = new Blue()
            };

            Triangle triangleRed = new Solution.Triangle()
            {
                Color = new Red()
            };
            Triangle triangleGreen = new Solution.Triangle()
            {
                Color = new Green()
            };
            Triangle triangleBlue = new Solution.Triangle()
            {
                Color = new Blue()
            };

            //Then when new colors be created will just create a implementation to these colors
            //rather than creating a new RectangeNEWCOLOR and TriangleNEWCOLOR
        }