Extracted out callbacks to its own module