pushing container update logic into appropriate models