Adds module to extract shared methods between models into a concern

Fixes #523