Added toString method.
Split logged and unlogged round-robin since a user request will result in a first non-logged request resulting in bunching of users on same producer if there are only 2 nodes.
Multithread proofing.
If cooldown period is not strictly positive, use default.