Let's do this object in toView and get rid of the 4 parameters. Moreover currently we do things like converting body to "" if it's absent in toView, and converting it to null here, and probably back to "" later on so this is a chance to add some consistency.