i was able to solve this by mixing both events and js
the way i solved this was by having a function whose condition picked object by using is on screen in system. that function executed sciprtInEvents, where it would iterate the picked instances and and push them to my queue.
var instances = runtime.objects.Moveable.getPickedInstances();
for(let i of instances){
//queue up instances that appear on screen
turnSystem.queue.enqueue(i);
}
then from my turn system class. i execute this function at the start of every turn cycle. you need to have a different mindset when trying to reason about events and java script together. but so far it's turned out to be really powerful.