I can't think of a good reason to make this a pointer instead of embedding the whole struct here.