Implement candidate maintenance (fixes #72)