```drawOuter```, ```drawMiddle```, and ```drawInner``` are all pretty similar; could we decompose the methods into one generic one?  What are the things that are different about each method?  We can just make them parameters into a new method and call them separately