support all methods, and class callbacks