* we get back down to 0, we know we are at the end of the chain and we
* can mark all the modules in the list as loaded.
*
* When we signal an error, we need to be sure to unwind all modules loaded
* thus far (but only for this module chain). It is assumed that if any
* modules in a chain fail, then they all do. This is logical, considering
* we get back down to 0, we know we are at the end of the chain and we
* can mark all the modules in the list as loaded.
*
* When we signal an error, we need to be sure to unwind all modules loaded
* thus far (but only for this module chain). It is assumed that if any
* modules in a chain fail, then they all do. This is logical, considering