added documentation to ListenableComponent