Refactored. Callbacks were splited