Stylistic changes to match the rest of the code
Remove unused unordered_map
Allow polymorphic object class to handle sol::function