Rework the GenSharp stuff a bit

 * Clarifies some things in GenWorker
 * Made the Sample nicer and gave it a state struct