I am refactoring this now.  I think I need to stick with the msg object though as I need to use its "random" method.