Use cleaner event based callback