Add event mechanism