amend interface to factory and chaining methods
add support of listenTo method