The max speed acts strange
Currently, the maximum speed is computed by dividing the amount of transferred data by the duration in the given time interval. In case it is short, it can max out the bandwidth.
However, if the interval is longer than the flow, several these fast and short flows can happen sequentially. Currently, we sum up the max speeds, which can produce something like 60* the bandwidth of the connection.
We need something that acts more sane. For example, we could make the time intervals short enough and just divide by the whole length of the interval instead of the flow (which will act sane, and if the flows won't be much shorter than the interval, it can also produce reasonable results for them).