fix: re-bind scroll to new element when it changes; observe container to prevent lexer problems