@chaley, your explanation was extremely helpful and not at all pedantic. I'd been thinking in too linear a mode. I hope I'm getting it. To restate to make sure I understand:
Abstract Breeder generates itself on the fly when User tells it to fetch a foreign format (which it adopts) or birth a new format. User asks Breeder who asks it's cousin MetadataHandler to associate external or internal bookMetadata with 0 to n format children living in an abstract Book in an abstract Library. Thus generating a new or changing an old bookConcept that doesn't really exist except in mind of User. What really exists is a formatfile with metadata in it or associated with it, a formatfile without metadata, or a metadata set without a formatfile.
Wow. I feel like I just ran uphill 5 miles with a 50 pound pack on my back.