Extract plugin hooks and capabilities out to separate files