I think that sounds reasonable. As long as BelongsToMany has a simple way to flush the join table easily.