dynamically-ish generating subclass