Same as above, perhaps write a shared base class and make this a bit less wet?