Changed callback handlers to lazy create