separate implementation of registration to a separate file

makes debugging easier...
Add missing member variable definitions