# Functions
NewScheduler creates a new Scheduler.
SafeReadRing does a nil check on the Scheduler before attempting to return it's ring this is necessary as many callers of this function will only have a valid Scheduler reference if the QueryScheduler target has been specified, which is not guaranteed.
# Constants
NumTokens is 1 since we only need to insert 1 token to be used for leader election purposes.
ReplicationFactor should be 2 because we want 2 schedulers.