ENH: registry will now automatically construct read and write methods

Ready for review
Can you update this and `format` to reference compound formats?