Generalize the fit scheduler.
Extract the "fit predicate" from random fit to make it extensible/plugable