Is there a reason the class methods need to stay? Looks like they could all be instance methods.