moved publish method to mvc controller to provide a better model binder