I think that your system is really nice. Sometimes in the project is very usefull if I can wait for real events (not for semaphore or message). It's not big deal if you can add into your scheduler some features to watch real events - like pin value, register flag, etc. Of course this will happen only if there is call to the scheduler.
I know that this is easy to do with some task that controls semaphores or messages, and each time it's focused it can set some semaphores according to the algorythm.
But immagine how nice will look your RTOS if I can write in my program something like
OS_Wait((RB6 && !(var1 & mask & PORTC)......)
I mean, I know that with this version of Salvo it's possible to do such control of pins, just my wish is if it could be made easier, with some build in feature. Maybe this will need additional definition like - <watch real events>.