better way to do setValue, setMarkup... others should be thought about to handle all text nodes other than value/markup text nodes