It really depends, and it is up to you.
If you want the comment system to be applied to other modules on some day, definitely make it your own module. If this is only related to blogs, you can leave it in the blog modules as your own controller. modules::run() and $this->load->module() can also be useful here, invoking the controller from anywhere to get view fragments to display comments.
I would probably create everything that he has.
It is almost impossible to be truly 100% modular, there will always be certain dependencies. The best you can do is try to organize it in a way that makes sense for your specific project. In general, modulate as much as possible - if you decide to get rid of blog comments once, you can simply remove the comment module.
source share