Factored out token buckets into their own class- BandwidthMeter.  Assumed ports will always be contiguous, which allowed for the removal/simplification of some methods.