refactor
config object, SimpleViewer accept src instead of node, do not remove/add nodes on fly, heavy refactor