Chill all ingredients 30 minutes prior to making crust.
In a large mixing bowl, sift together flour and salt. Using a pastry blender, cut butter into flour until mixture resembles coarse sand. Stir in water, a tablespoon at a time, until comes together. Form dough into a ball and wrap in plastic. Chill thoroughly, up to overnight, before rolling out.
Pre-heat oven to 350 F.
On a lightly floured surface with a rolling pin, roll dough out to fit a 9-inch pie plate. Place crust in pie plate. Press the dough evenly into the bottom and sides of the pie plate. Flute the edges, if desired.
Line the crust with aluminum foil and add pie weights or dry beans. Bake in preheated oven for 10 to 15 minutes until golden brown. Remove from oven, and remove foil and pie weights. Cool in the pie pan on a wire rack until room temperature, before filling.
In a medium sauce pan, add water, cornstarch and cocoa and whisk together until smooth. Sir in sweetened condensed milk and egg yolks. Cook over medium low heat, stirring constantly, until thickened, 8 to 10 minutes. Remove from heat, and stir in butter and vanilla. Allow to cool 5 to 10 minutes, stirring occasionally. Pour into baked pie shell. If desired, top with meringue or whipped cream once chilled.