Updates to provenance. Break into multiple directives. Add a directive
for dragging windows about.