new CallbackChain(aCallbacks)
 This CallbackChain class is used to hold
                a list of chained callbacks and it can often be passed instead
                of a callback. Caveat: This will not chain synchronous functions
                which expect a return value. It is mainly designed for async
                calls but you could probably make it chain sync calls by making
                your synchronous code use the callbacks to pass data back in
                method arguments and avoid using 'return' to pass back data.
                Note that the first element (item 0) of the callbacksChain array
                is at the innermost or deepest nested level, in other words it
                represents the method to be called first. The code here ensures
                that you cannot add callback chain objects as elements to the
                callbacksChain array (that would be too confusing, for me at
                least) but you can use the addNewCallback() method to add a new
                callback as the first item in the array (which becomes the first
                to be called). To use this, the function that is called back
                should expect to receive a callbackChain as the final argument
                (if it needs to call a subsequent outer level callback). 
              Parameters:
| Name | Type | Description | 
|---|---|---|
| aCallbacks | Array.<(jsx.Callback|jsx.CallbackCustom)> | an array containing module:obitech-framework/jsx#Callback and/or module:obitech-framework/jsx#CallbackCustom objects (a mixture is OK) |