One thing to think about is what happens when we can't load the plugin... Do we want this function to throw or return nil and handle this case in the caller or something else :)