The Web3EventService code is complicated and I think would benefit from reorganizing for clarity and maybe a little refactoring