Throw exception on invalid listener method (and organize exception(s))

As explained by title.
Yeah having thought about it I think an exception is the right road to go down, just don't think it's necessarily a PluginLoadException.