DTO seems to be the way to go. My "real" domain objects live on a server somewhere, so I make a JavaFX Properties version of it on the client. I don't mind the extra work, if you can even call it that. My JavaFX versions are usually dumber than the server counterpart, and that's completely fine IMO.