Minor refactor leveraging more SM stuff
Minor refactor leveraging more SM stuff

pyinvoke/invoke,mattrobenolt/invoke,pfmoore/invoke,mkusz/invoke,mkusz/invoke,sophacles/invoke,pfmoore/invoke,alex/invoke,kejbaly2/invoke,mattrobenolt/invoke,tyewang/invoke,frol/invoke,pyinvoke/invoke,singingwolfboy/invoke,frol/invoke,kejbaly2/invoke