You might need this logic outside of the models so adding it to the basemodel seems a bit restrained.