I have another idea...
Just pushed, take a look and play with some settings when you get a chance. Our version is very easy to expand, improve and yada yada yada.
It will take integers or tuples which values will be use to get a uniform random between them. Angle is always random between 0 and 360, rest should be self evident, except for adjust_radius which if provided expects a tuple with two integers, it will get a random from those integers and add it to the step (step is a radius, divided by the amount of displayable, it will be a constant if not adjusted). Circles is the amount of circles displayable needs to make before disappearing, if tuple if provided, Vortex will get a uniform random between the two values (they can be floats).
Start an issue if you require it to do anything else.