Refactor scheduler, use generic scheduler everywhere, delete old code.

done.