Adding extension methods for callbacks (just syntactic sugar).
Refactoring and commenting.