Re: acts as, take a look at [this post](http://revolutiononrails.blogspot.co.nz/2007/05/drying-models-via-acts-as.html)

You could also pass primary_id_field to override id with key when necessary.