For reading updates to candidate file without restarting the server, how does this GitHub - hpcloud/tail: Go package for reading from continously updated files (tail -f) look?
We can read the candidate file and whenever some new candidate is added to it we can create an instance of Candidate and add it to our map.