Mark our strictly internal classes as final

Although our class level description already clearly says that these classes are "not be considered part of the public api, and should only be used internally by Factory Muffin", I don't think we're pushing the point hard enough. I propose we add the final keyword to our classes. This is not a breaking change because nobody should be modifying those classes.