Being able to do something like TimerDevices[3].OnSuccessEvent.Subscribe(OtherFunction,3) or .Subscribe(OtherFunction(3)) would be very useful. For example an item shop where you press a button to buy and instead of having to manually have a different function for every button to know which one was pressed it can just pass an integer or something with it.
@editable
ShopButtons:[]button_device=array{}
OnBegin<override>()<suspends>:void=
var Count:int =0
if:
for(b in ShopButtons):
set Count = Count+1
t.InterractedWithEvent.Subscribe(OtherFunction,Count)
t.InterractedWithEvent.Subsribe(OtherFunction(Agent,Count)
t.InterractedWithEvent.Subscribe(OtherFunction(Count)
#Different Ways it could look
OtherFunction(Agent:agent, Count:int)void =
#Whatever else
I find I encounter alot of these situations where its very useful to know which device in an array or which high number of devices actually called the subscribe. My main method of dealing with this is needing to have a bunch of smaller functions that correspond to each of the devices which then pass an argument into the main function or just hard code all the devices.