Good Knight Against Bad Bishop Endgame - A More Constructive Plan? I reached the position below in a recent tournament game

[Event "Recent Tournament"]
[Site "Deepest, Darkest Oxfordshire"]
[Date "Feb 2020"]
[White "Ian Bush"]
[Black "A Young Victim"]
[Result "1-0"]
[WhiteELO "~1850"]
[BlackELO "~1850"]
[ECO "C55r"]
[StartPly "52"]
[FEN ""]

1.e4 e5 2.Nf3 Nc6 3.Bc4 Nf6 4.d4 exd4 5.e5 d5 6.Bb5 Ne4 7.Nxd4 Bd7 8.Bxc6 
bxc6 9.O-O Bc5 10.f3 Ng5 11.Be3 Qe7 12.f4 Ne4 13.Nd2 Nxd2 14.Qxd2 O-O 15.
Nb3 Bxe3+ 16.Qxe3 f6 17.Nc5 fxe5 18.fxe5 Be6 19.Rae1 Rxf1+ 20.Rxf1 Rf8 21.
Rxf8+ Kxf8 22.Nb3 Bd7 23.Qc5 Ke8 24.Qxe7+ Kxe7 25.Nc5 Bf5 26.c3 h6 27.Kf2 Bc8
28.Ke3 Bf5 29.Kd4 Bb1 30.a3 Bc2 31.Na6 Bb3 32.Nc5 Bc4 33.Ke3 Ba2 34.Kf4 Bb1
35.h4 Bc2 36.g3 Bb1 37.Nb3 g6 38.Nd4 Kd7 39.b4 Bd3 40.a4 Bb1 41.a5 Bd3 42.Nb3
Bc4 43.Nc5+ Ke7 44.h5 gxh5 45.Kf5 Be2 46.Kg6 Bd1 47.Kxh6 Be2 48.Kg5 Bg4
49.Nb3 Bd1 50.Nd4 Kd7 51.Kf6 Ke8 52.Nxc6 a6 53.e6 Bg4 54.e7 Bd7 55.Nd4 Bh3
56.Ne6 Bxe6 57.Kxe6 h4 58.gxh4 d4 59.cxd4 c5 60.d5 1-0


Though I ultimately won I have to admit a good part of it was waiting for my opponent to make a mistake - my opinion was that only black could lose this one so I'd try and slowly improve things waiting for a mistake in a difficult position, and then hopefully pounce. But is there a better plan which does not involve my opponent being cooperative and I can just win whatever he does? Sample variations to illustrate ideas would be appreciated - especially as this is a thematic endgame from the opening I use, and so I would like to learn how to play it better. I should also say I saw at various points how I could win a Q side pawn or two but was worried it was taking my wonderful knight out of play and sometimes saccing the e5 pawn to get 2 Q side pawns, which again I was not convinced was a good bargain - was I being too cautious?

For what it is worth both he and me are about 1850 FIDE (converted from ECF), and my plans to improve the position were


Get everything on black squares so he doesn't have any targets 
Edge my pawns forward making them closer to queening when the breakthrough occurs
Plant the king on d4 or f4 again for the breakthrough
Combine varying the angle of attack of the knight against the Q side pawns with threats of e6 to try and win one or more of his Q side pawns
First, the good: You are probably winning this throughout the game, and thus, improving your position gradually was the perfect plan. It also was one of the best examples of Shereshevsky's "Do Not Hurry" principle that I have ever seen. Black could do nothing, so gradually improving, and eventually converting, was perfect since you had all the time in the world. Having this much time is, obviously, not that common in chess, which leads me to the next paragraph.

Now, for the bad, and you even allude to in in your question when you said "was I being too cautious?" I do not know if this is a pattern in all your games, but you showed a lack of calculating when it was just winning, and a lack of action. You need to work on concrete play. In games where you do not have that much time, that might be the difference between winning and drawing, or worse.

I am not trying to be hard on you, but rather, just to point this out. In fact, just yesterday, I read this article, and you might find it helpful.

Here are my notes to the game.

[Event "Recent Tournament"]
[Site "Deepest, Darkest Oxfordshire"]
[Date "Feb 2020"]
[White "Ian Bush"]
[Black "A Young Victim"]
[Result "1-0"]
[WhiteELO "~1850"]
[BlackELO "~1850"]
[ECO "C56"]
[PlyCount "119"]
[FEN ""]

 1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. d4 exd4 5. e5 d5 6. Bb5 Ne4 7. Nxd4 Bd7 8. Bxc6 bxc6 9. O-O Bc5 10. f3 Ng5 11. Be3 Qe7 12. f4 Ne4 13. Nd2 Nxd2 14. Qxd2 O-O 15. Nb3 Bxe3+ 16. Qxe3 f6 17. Nc5 fxe5 18. fxe5 Be6 19. Rae1 Rxf1+ $2 {This was, indeed, way too cooperative. The Be6 should blockade the pawn, and the rooks should seek counterplay on the queenside.} (19... Rfb8 20. b3 Rb5) 20. Rxf1 Rf8 $2 {I am tempted to give this positional lemon two question marks. } 21. Rxf8+ Kxf8 22. Nb3 (22. b4 {Is typical here, not wasting time, but since there is no good way of avoiding getting the queens off, it is worth it.}) 22... Bd7 23. Qc5 Ke8 24. Qxe7+ Kxe7 25. Nc5 (25. c3 $1 {A little refinement preventing d4 since Ke6 does not help.} Ke6 $2 26. Nc5+ Kxe5 $4 27. Nxd7+) 25... Bf5 (25... d4 26. Kf2 Bf5 {Black is still worse, but finally with some potential for counterplay.}) 26. c3 h6 27. Kf2 Bc8 28. Ke3 Bf5 29. Kd4 $18 {THE perfect initial setup.} Bb1 30. a3 (30. a4 $1 {Concrete play.} g5 31. a5 Bg6 32. Na6 Kd8 33. Nb8 Be8 34. Kc5 {And just wins.}) 30... Bc2 31. Na6 Bb3 32. Nc5 (32. Nb8 $1 {Again, you avoid concrete play.} Ba4 33. Kc5 Ke6 34. Nxc6 a6 35. Nb4 Kxe5 36. Nxa6 c6 37. Nb8 $18) 32... Bc4 33. Ke3 Ba2 34. Kf4 Bb1 35. h4 Bc2 36. g3 Bb1 37. Nb3 g6 38. Nd4 $6 {Although it loses a pawn for black, you allow counterplay, and the one move black has been trying to play the whole game, c5. It still wins, but unless you calculated it all well, it is not a move I would allow here.} Kd7 (38... c5 39. Nb5 c6 40. Nxa7 Kd7 {The computer has no doubt you are winning, but if I got here in my calculations, I would worry about the semi-trapped knight here, and even after e6+, I get it out, will the extra pawn still be winning.} 41. e6+ Kxe6 42. Nxc6) 39. b4 Bd3 40. a4 Bb1 41. a5 Bd3 42. Nb3 Bc4 43. Nc5+ (43. Nd4 Bd3 44. g4 Bb1 45. h5 g5+ 46. Ke3 {And Nf5 or e6 will win.} Be4 47. e6+ Kd6 48. e7 Kxe7 49. Nxc6+ $18 Kd7 50. Nxa7 c6 51. b5 cxb5 52. Nxb5 Kc6 53. Nd4+ Kb7 54. Nf5) 43... Ke7 44. h5 $1 gxh5 45. Kf5 Be2 46. Kg6 Bd1 47. Kxh6 Be2 48. Kg5 Bg4 49. Nb3 Bd1 50. Nd4 Kd7 51. Kf6 Ke8 52. Nxc6 a6 53. e6 Bg4 54. e7 (54. b5 $1 {Again, concrete play.} Be2 55. b6 {And queens.}) 54... Bd7 55. Nd4 Bh3 56. Ne6 Bxe6 57. Kxe6 h4 58. gxh4 d4 59. cxd4 $6 (59. h5 {While not technically a mistake, you should have seen this common mating pattern easily.} dxc3 60. h6 c2 61. h7 c1=Q 62. h8=Q#) 59...c5 60. d5 1-0