Allow user to set the selected event's data with the returned value of pre_select
Fixed calling then on promise instead of deferred
Fixed calling then on promises instead of deferreds