Separate plugin loading from exec()