Cake: preheat the oven at 350ļ.
1.Butter a 9inch-spring form pan or 8 1/2 pint mason jars (if you want to serve individual ones) and line with parchment paper.
In a large saucepan, combine Guinness and butter.
Place over medium-low heat until butter melts, then remove from heat.
Add the cocoa and sugar and whisk to blend well.
2. In a small bowl combine sour cream, eggs and vanilla. Mix well. Add to Guinness mixture. Add flour and baking soda and whisk again until smooth. Pour into buttered pan, and bake until risen and firm, about 45 minutes for 9 inch and 20 minutes for 1/2 pint jars. Place pan on a wire rack and cool completely in pan.
3. For the topping: Using a food processor or by hand, mix powdered sugar to break up lumps or just sift it.
Add cream cheese and blend until smooth. Add heavy cream and milk until smooth and spreadable.
4. Remove cake from pan (if using the jars keep them in there), and place on a platter or cake stand. Ice top of cake only, so that it resembles a frothy pint of Guinness.