add a way to set value directly and track whether element has been directly edited by user or not
0.3.0