Made the pass classes sealed, which is a more sensible way to please the compiler about using virtual methods inside constructors.