D3 chart components via reusable traits (aka mixins)