Refactor dataset metadata and introduce plot metadata.

Introduce plot metadata and currying in drawer.
Is this really 100% necessary?  I just feel that our signatures just went from manageable to something that can easily not be manageable.