Use mixins to make API slightly neater