Add documentation to interfaces
Apply cleanup
Apply format
Reorganise packages
Set cleanup/formatting options
hasBranch()