Use default Exception type
static (global) configuration and return null if no configs were found
introduce the Generic PuiceFactory