All the same, using salt.utils.which to determine whether an execution module should load is pretty standard in Salt (at, dig, djangomod, eix, etc). Again, is it desirable to have the lxc module loading on every minion, regardless of whether the lxc tools are actually available? If this shelling out is a real issue, maybe something could be devised whereby repeated loads do not shell out (e.g., set a grain and test that).