Refactor dataset metadata and introduce plot metadata.

Introduce plot metadata and currying in drawer.
Can we have applied accessors throughout the codebase?  If we can use simple things around the codebase I would rather use the simple thing