Moved Member function comparator std::less to interface.h
Cast member function pointers to const char * and compared them byte by byte.
This is a good example of properly templated function, use as reference in the future.
Map m initialization line uses typename to tell compiler that the member variables/functions used in it are of type T.
^-- is from the previous commit.