Use a soccer ball icon for the snake head and tail instead of drawing it programmatically. Since no more OpenGL drawing is involved, it's safe to get rid of CustomDrawNode.  The snake growth logic is now built into lengthOfSnake setter method. Also, initializing the snake is done by assigning a position to the snake's head, setting the length, and then repeatedly moving it forward by one tile.  This makes more sense than building the whole snake in place.