This function is going to become more complicated with the new shipping component implementation.  That's why I left it as it is with the TODO note.