Refactored all models to use a column mixin and a custom session instead of a single abstract custom base