I might argue this is inheritance abuse