Thank you for your answer, I didn't knew about this.
Because my commands are few(4) in number I managed to get it working by setting parameters for each button and treat each case.
for x in vbox.get_children():
x.connect("pressed", self, "interceptLinks", [globals.notificationArray[temp].type, globals.notificationArray[temp].village])
func interceptLinks(type, village) << treated the 4 cases here
Treating cases like this works in this particular situation but your solution is better when you have to usually deal with more multiple button actions so you don't have to write tens of statements, thank you for the information.