When people ask me what it’s like to design software I think I’ll respond that some days it’s like emptying shelves and then putting stuff back in them in a way that fits. Hopefully you can get rid of some of the stuff, but somebody else might be attached to it, so you’ve got to fit it somehow.