As Paul mentioned, it'll be nice to mention that this code is assuming a certain pattern of the procedure names.