Cream butter and sugar for at least 10 minutes. Sift flour, baking powder, and salt together. Alternately add milk and flour to creamed mixture. Beat in one egg at a time. Add vanilla. Pour in three greased and floured 8-inch cake pans. Bake 25 to 30 minutes at 350 degrees.
For a moist cake, make a filling by combining sugar, milk, butter, and coconut. Heat almost to a boiling point and put mixture over each layer of cake.
Make a divinity icing of last six ingredients. Boil sugar, water, and corn syrup until mixture spins a thread. Slowly pour boiled mixture over stiffly beaten egg whites. Add 1 teaspoon vanilla. Continue beating until spreading consistency is reached.
Heap icing and coconut between layers and on top and sides of cake.