Implementing topic.subscription factory.
#930
+154
−27
Merged