Change spec `define`s to `require`s, add spec for PolymorPhactory

cc @webspinner