First Re-publish

To-do: Return selector on plugin function return and find other way to
implement return value chaining.
First Re-Publish
Revert "First Re-publish"

This reverts commit 9a7fd1259f49101d7f3f9de74815dd67c5dbdfe1.
Revert "Revert "First Re-publish""

This reverts commit 9ec621595a7fa55f082f2af5c3b30578ac9c6c10.