package Ġdev . aug u . n ino . but ter fly . interaction Ċ Ċ import Ġnet . dv 8 tion . j da . api . events . Generic Event Ċ Ċ /** Ċ Ġ* ĠAn Ġ[ Interaction Step ] Ġbut Ġhas Ġa Ġfunction Ġit Ġneeds Ġto Ġexecute Ġevery Ġtime Ġwe Ġreach Ġthis Ġstep . Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 0 . 3 Ċ Ġ* Ġ@ property Ġcallback Ġthe Ġcallback Ġto Ġexecute Ġevery Ġtime Ġwe Ġreach Ġthis Ġstep , Ċ Ġ* Ġthe Ġreceives Ġthe Ġevent Ġthat Ġcaused Ġit Ġto Ġreach Ġthis Ġstep , Ċ Ġ* Ġif Ġit Ġreturns Ġan Ġ[ Interaction Step ], Ġthe Ġexecutor Ġshould Ġcontinue Ġwith Ġthe Ġsame Ġevent Ġusing Ġthe Ġnew Ġstep . Ċ Ġ*/ Ċ open Ġclass ĠExec utable Interaction Step ( private Ġval Ġcallback : Ġsuspend Ġ( Generic Event ) Ġ-> ĠInteraction Step ?) Ġ: ĊĠĠĠ ĠInteraction Step () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠExec utes Ġthe Ġstep 's Ġcallback ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġevent Ġthe Ġevent Ġto Ġpass Ġto Ġthe Ġcallback ĊĠĠĠĠ Ġ* Ġ@ return Ġan Ġinteraction Ġstep Ġif Ġit Ġshould Ġcontinue Ġusing Ġa Ġnew Ġinteraction Ġstep , Ġotherwise Ġnull ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġexecute ( event : ĠGeneric Event ): ĠInteraction Step ? Ġ= Ġcallback ( event ) Ċ }