Rewrite registry to have fallbacks be a bit more sane
Fix registration function to use new registry definition