Make things more robust

* Trying to set an invalid UUID no longer destroys the valid UUID
* Empty item slots now show up as blank rather than "0 "