Filling: Combine flour, milk, and vanilla in saucepan. Cook, stirring constantly, until a thick paste forms. Cool completely. Beat cooled paste, sugar, shortening until well incorporated. Cube butter. Add to mixture. Mix well. (Optional: Add additional 1 tsp vanilla.)
Frosting: Mix butter, cocoa, and water in saucepan. Heat just to thicken, do not boil. It is okay if mixture looks greasy or lumpy when thickened. Add sugar and vanilla. Mix until smooth.