Many things need to be ironed out still.
This removes the need for a special overload for AddCandidatesToDatabase. Also, the GetFuture function now provides a more sensible API with the list being returned instead of accepted as an out parameter.