All the Server sessions ultimately inherit from BaseHTMLSession, so I think @mattpap suggestion will work? I agree with both of you this code is currently overly complicated, it needs to be reorganized, I'd much prefer to move to some sort of delegation/composition model and reduce the amount of inheritance.