One thing I've been experimenting with lately, with positive results, is using models as flags. When you need to flag one of your models somehow, you might add a boolean to your table to indicate a certain status. For example, let's say you add a feature to your application for deactivating users.