refactor test case, extract textbox plugin out for testing
refactoring plugin api to only with api and spi