added option for async event firing