Using a map and Function objects to create each example instance
replaced the functional objects (with virtual inheritance) with a function pointer.
This elimintates the usage of a smart pointer and new calls