Handle push with no commits
Refactor, add Payload class
Add missing payload class