[Tentative PR] style(Selector): Move public API on top of the file

This PR is only about moving code around in the selector.

To me it makes sense to have the public API first (especially when the doc for those classes is at the very top of the file).

However I can understand that this can cause troubles with potential future merges - even more if someone is working / plan to work soon on this file.

If you see this as a pb, please vote -1 or close the PR.

Thanks.