printProgress builds string in steps.
Add a lock to List() to protect the *log.Logger.

In case someone tries to run two List at the same time.
Remove unecessary pointer references.