Lots of changes

  * Provider#publish is no longer available
  * All actions have been broken apart
  * Reduced the huge case statement
merged refactorings in