Full review (do not merge)

Thinking out loud here: would it be better to do a check if required files exist on startup? Disable the plugin if some of the stuff missing, skip the defensive code everywhere else...