Functions and members registering overhaul
Added test for generic members