Mixins for components (not ready)

Factoring common code across all components.
Work in progress.