Figuring out class responsibilities