add flaxibility on click events, allow uesr to define after events.