Refactored eventChain