(dirty) dynamic update on webapp (changes listener)