easy support for O*M other than ActiveRecord