updateViewInner promised
saveKeyValues promised
updateView promised