replacing GtFunc with GtDelegate