Added more documentation and added callback check.