Thanks for the review, Mohit!
I can just suggest you to break down the work done in commits so that there is a better commit history and work is more easily readable through different commits.
I feel like I did do that, though. In the pull request I linked there are 14 commits or so - how could I improve on this?