Is there a way to listen to certain function calls to contract using web3.py without the function emiting events?