structure tree manager with listeners