This call to eval looks scary. We should probably switch to Class.new(Liquid::Drop) based syntax