Прошу прощения, я ещё не знаю Питона в достаточной мере, поэтому глупый вопрос: а в этом языке есть перегрузка функций? В зависимости от стартовых условий определяется "содержимое" функции, а в самом обработчике события никаких дополнительных ветвлений нет.
Есть в functools декоратор singledispatch и ему подобные
Возможно это нечто вроде того что тебе нужно