hasMany replace is configurable with replaceFromJSON