Split update() to fromForm and fromJSON