I should be using Module::Pluggable instead of handrolling what it would do