Preheat oven to 350º.
In a small saucepan, combine butter, water and cocoa over medium heat just until the butter melts being careful to not allow it to cook too long, mixing constantly.
In a large mixing bowl, combine sugar, flour, salt, eggs and baking soda.
Add in the butter mixture to the dry ingredients, then add the sour cream and vanilla and mix until completely incorporated.
Pour the cake batter into a sheet cake pan and bake for 18-20 minutes or until completely set.
For the icing:
In a medium saucepan combine the butter, cocoa and milk over a medium heat and bring to ta boil.
Once boiling, remove from the heat and combine with the powdered sugar and vanilla. Mix well with a hand mixer to remove all the lumps.
Finally add in the half cup of cream cheese and mix until well incorporated and smooth.
Spread over the sheet cake while the cake is still warm.
If you chose to add nuts, sprinkle them over the top of the cake.