Adding publisher abstration functionality

8 files changed