Nice improvements! The scheduler looks promising. I still don't like how vars have to be handled. It must be possible to solve this much more elegantly somehow?