still thinking about best way to handle expired events