Moved common functionality to its individual mixins