Removed priority button and created the OptionallyPreemptive interface for that button.
Got preemption working right with my implementations.
Merged in changes from master branch.