Add callback mechanism