changed event block argument type to 'id', because that makes it easier to use with custom event classes