TODO: add a way to unsubscribe / cancel call