A configurable factory is used to find and/or create configurables. A
"Configurable" object is any object which either:
Implements IConfigurable directly
Implements a TypedInterface, thus providing enough information
about the types of objects needed to allow the user to change the
object as long as the input is validated