Use initforms on unbound slots, use upsert for saving objects, update tests