I'm not convinced an "update" function should result in data being deleted. If this is passed an empty string - then that should be set as the value - it shouldn't result in the meta value becoming unset (IYKWIM)