Is this class necessary? What is it's responsibility?