How do I personally? I tend to use the approach at the end of my article. I don't *always* start with the two functions, but as my app grows I have started to add them in.
Large custom contexts are okay, but they cant follow the http.Handler interface and when they get too big it is hard to tell which pieces are needed for each handler. In the case of Buffalo I think everything is always set, but they also don't add any app specific data to that context (like a user) so you would need to customize their already large context interface to do that. I really need to get a follow-up piece written but I'm strapped for time this weekend :/