Generic relation functionality and related methods to require and set up models with said functionality.