No...
I've explained it in bits over many posts but it prolly lacked context... some history:
Originally, jobs were functions. I watched this:
https://www.youtube.com/watch?v=o9pEzgHorH0 just before writing them
![Cheesy :D](https://www.pinkpetal.org/Smileys/DarkB/cheesy.gif)
Rudi turned them into classes (without asking). They didn't do anything more, they just looked differently...
Later Thewlis did that weird thing to the WhoreJob that added a whore series of confusing classes which created confusing data-structure for different iterations of the job... it was close to impossible to work with and keep updated so I refactored it out of the game (until better days).
When I first started to work on the SE, I tried to write a special kind of loop for it but it took too much time so I dropped that project and wrote it as a slightly more complicated building/job combo (we did have a completely working SE version until Gismo destroyed it).
At some point SimPy was suggested as an option and it did exactly the same as I tried to code in for SE (practically to the letter).
After studying the module, I've explained the possible benefits and we've decided that it was worth to implement it.
The problem is, that simpy completely takes over the logic and execution of all workers, client handling, client matching, jobs logic, waiting and redirecting of workflow and etc. Now our Job classes looks really stupid because they are sort of used as markers that are bound to characters actions, do weird shit like setting up internal attributes in arbitrary methods in order to pass them to other methods just to be reset milliseconds later and etc. Most of that is so just because it was faster to use with simpy without completely refactoring jobs out of the game.
Problem is that we're loosing a good bit of flexibility that simpy offers for free (just because it's simpy) and most importantly, all of that is really difficult to keep straight in the head...
So yeah... logic and code structure is a mess, my plan is to refactor the whole thing after beta release and to hope that this added confusion due to mixed code structure doesn't take too much off the development time before then.