@gkhachik - Could you please reconfirm as to why had you made this change in the earlier fix? I changed it back as the run method was failing because of misconstrued 'cmd'. 
I think the 'cmd' appending done this was is correct. We need to append the 'args' list first (it contains user credentials. Although TODO yet), followed by the actual hammer 'command' and finally the command parameters which are held by 'opts'. The 'run' method fails if we have 'opts' appended before 'command' 
Please let me know your view on this.