mainly Scalar::Util and List::Util
Uses Moose to return a new instance of a specified component on each Catalyst request