feat(components.scatter) Refactor to use mixin