   return [inner, control1, control2]
 
 starWithCircularTipsPoints = (innerRadius, straightPercentage) ->
-  outer = outerPoints()
-  inner = innerPoints(innerRadius)
-  [intermediate1, intermediate2] = calculateIntermediatePointsComingAndGoing(inner, outer, straightPercentage)
-
+  [outer, inner, intermediate1, intermediate2] = innerAndIntermediatePoints(innerRadius, straightPercentage)
   radius = calculateRadius(intermediate1[0], outer[0], intermediate2[0])
 
-  return [
-    inner.map(pointAsString)
-    intermediate1.map(pointAsString)
-    intermediate2.map(pointAsString)
-    radius
-  ]
+  return [inner, intermediate1, intermediate2, radius]
 
 starWithCubicTipsPoints = (innerRadius, straightPercentage, controlPercentage) ->
   outer = outerPoints()

  inner = innerPoints(innerRadius)
  [intermediate1, intermediate2] = calculateIntermediatePointsComingAndGoing(inner, outer, percentage)

  return [
    outer.map(pointAsString)
    inner.map(pointAsString)
    intermediate1.map(pointAsString)
    intermediate2.map(pointAsString)
  ]

starWithQuadraticTipsPoints = innerAndIntermediatePoints


  outer = outerPoints()
  inner = innerPoints(innerRadius)

  return [outer, inner]

linearStarPoints = innerStarPoints
quadraticStarPoints = innerStarPoints
