Association implementations separated from ActiveRecord