Changed run order to have a polymorphic dispatch to prevent method inlining.