Fixed up the Shapes to use a BuildPath construct to simplify the code