Yielding the calling script from a module script

Right now im making a wait function for my signal script im using a weird workaround to wait is there some toggle or something I could do until i toggle the main script back on?

It’s a bit hard to comprehend, but maybe try using a RemoteFunction?

Right now im trying to avoid using anything using instances as this thing replaces bindable events im trying to make it completely seperate

co = coroutine.running()
coroutine.resume(coroutine, ...any)
coroutine.yield(...any) -> ...any

Give these functions a look, the coroutine library is a very powerful API surface for thread control