Refactor event forwarding pattern