pseudo-virtual-dom to avoid extra attribute set/get