Renamed vars and methods to make it less obvious
that I cribbed this class off of @dmarcotte. Excelsior!