Is there a need for these values to be stored in instance variables? I think they could all be passed as method parameters to make the code more readable.  Or am I missing some need to save a state?