All 3 of these shoudl come from a base class, I think.