Add weight argument to listener interface, default listeners use 0