uses the more proper way to handle writes to XPO objects