Move publish functions to invoke task