I finally figured out why I've been having issues with SimpleListProperty mappings in ViewModel. It turns out that they return a hashCode value calculated from the contents of the list, so if anything was changed in the list, the correct facade couldn't be identified anymore.