An Active Record Extension for has_many :though system