Details in #2414.
This reverts commit 315e56c6.
This reverts commit 8741060e.
Detailed discussions in #2414.
Fixes #2412.
Refactor subscriptions