I have tried to build an example window project without any case statements.
I have not used prototypes for all the functions 'func_OnSomething' because of the extra effort.
This is only a starting point!
I am sure there are lots of improvements and pitfalls, I would like to here from.