Uses the CommandInfoFunc via the Command component to extract command information from the plugin. Mapper type functions have been removed and extracted to isolated file. Reorganized the functions a bit for internal consistency