I'd rather have this module resemble the others (academics, badges, tasks) in its overall structure. And, I feel the boilerplate just to provide an interface is un-Rubylike.