This module allows you to build packages that return different
variations depending on what parameters are given.

Users of your package will receive a subroutine able to take parameters
and return the name of a suitable variant package. The implementation
does not care about what kind of package it builds.
