A rails engine for distributing authorisation responsibilities across ActiveRecord models