Modified reflection helper functions, returned arguments now contain name and optional keys