Used to represent event listeners when Kotlin lambdas can not be used to conveniently subscribe to events (e.g. when used from Java).