observer leak is prevented