Обычно большую прогу, с новой логикой и в спокойной обстановке (без бешенства манагеров и директоров) начинаю писать с того, что на интерфейсах описываю абстрактную необходимую функциональность. А потом уже её реализую.
Особенно это полезно, когда пишешь не один. В этом случае, ты реализуешь свои, согласованные с командой интерфейсы, спокойно обращаясь к нереализованным, которые реализуют другие, не тормозя тебя в начале начал.
В вашем случае можно (знаю это только для JIdea) создать и отладить реально работающий класс. А затем, щелчком пПКМ по имени этого класса и далее из всплывшего меню "Refactor"->"Extract interface". И вуаля, если нет плохих зависимостей, то интерфейс (в смысле синтаксиса Java и как отдельный файл класса) готов. Осталось его грамотно откомментировать и, может быть, реализовать некоторые дефолтные методы, перенеся их из уже написанного кода. Или ещё что потребуется. Но главное , интерфейс для рабочих методов , уже есть.
А уж реализовать интерфейс в плагине - дело техники. Загрузить плагин и вызвать как инстанс класса интерфейса - тоже не сложно.