Refactor FullTextSearch into a plugin and a widget.