Refactoring input mixins to make api more consistent across various input types.