The logic behind JavaScripts paradigm might be confusing to some at first, I totally understand you! It's not fully OOP, and it's not fully functional, although from what you said, I would recommend checking out some functional programming articles. They might help you better deal with callbacks. That being said, if you want to focus on OOP (which is perfectly normal), I recently wrote an article showing how to implement some of the common design patterns in JS: blog.logrocket.com/design-patterns-in-node-js I hope that helps clear things up a bit!