This is a package I’ve created for automating the combination of callback functions to enable overlapping inputs and outputs while still preserving the organization that would be lost by creating a giant callback function. This is designed to allow reusing components like alerts between callbacks along with the ability to pass through Outputs that you don’t want to change without creating unnecessary State objects. The purpose of this is to allow more freedom with event chains so that they can be non-linear and less strictly coupled. It could probably enable recursive callbacks if you enable the 3rd parameter in the constructor, but that’s untested. Usage of this module is as simple as adding three lines, if the second constructor parameter is True.