Add fart button and refactor to use the convenience library for event handling.