Heat 3 cups of milk and when the steam starts appearing from it, add the sugar and stir until dissolved.
In another bowl, add the custard powder to the remaining 1/2 cup of milk, and mix till its smooth without any lumps.
Now add this custard milk into the first milk mixture and keep stirring on medium heat until the entire mixture thickens. This would take about 10-15 mins.
Simultaneously, mix the gelatin in the ice cold water and leave aside for 15 mins.
Once the custard-milk-sugar mixture thickens, add the gelatin which would have turned into a big jelly like lump.
Keep stirring on medium heat, until the gelatin gets fully dissolved.
Once done, switch off the heat and either transfer mixture into a larger bowl to allow it to cool faster else immerse the base of the pan in some ice cold water. Allow the entire mixture to cool to room temperature.
Whip the cream separately with an electric beater till soft peaks form and add it into the cooled custard. Fold the cream completely into the custard.
Meanwhile, dissolve the coffee powder in the ¼ cup of boiling water and the cocoa powder in the other ¼ cup of boiling water.
Divide the custard into two equal portions.
Keep one half portion aside as it is and divide the other half into two equal portions.
The intention is the majority portion is for vanilla, and the rest equally divided between coffee and chocolate.
Now, add the vanilla essence into the largest custard portion and stir gently. Add coffee and cocoa mixture to the other two portions respectively and mix gently.
To set the pudding:
Grease the pudding pans with some butter.
First pour the chocolate custard into the base of the pan and allow it set in the freezer for 15-20 mins.
Once you are sure it is set, then only pour the vanilla custard and to set it again for 15-20 mins in freezer.
Then to pour the coffee custard and allow it to set for another 15-20 mins. Once the pudding is set, transfer to the refrigerator.