I think what is complex with inheritance is having it potentially inherit from multiple classes, which we are doing here.  Maybe inheritance could work, but I think it ends up more complex.