make registration strongly typed; allow for additional registrations from hosting app