Possibility to postpone callbacks object creation and a bunch of refactoring.