disconnects from child event. if handler is not specified, will
        disconnect from all the child sprite events

def disconnect_child(self, sprite, *handlers):
        """disconnects from child event. if handler is not specified, will
        disconnect from all the child sprite events"""
        handlers = handlers or self._child_handlers.get(sprite, [])
        for handler in list(handlers):
            if sprite.handler_is_connected(handler):
                sprite.disconnect(handler)
            if handler in self._child_handlers.get(sprite, []):
                self._child_handlers[sprite].remove(handler)

        if not self._child_handlers[sprite]:
            del self._child_handlers[sprite]