code review...

This is intentional, this trio is tightly coupled.
I might extract the capacity calculations out of here someday (so users could disable capacity calculations or something) , but it's not really that beneficial at this point in time.