- Find and use a better name foe the library. Some Nice TLA.
- Setting up remote(s)
- Comparing working branch with remotes (Ahead/Behind counts)
- Comparing current status ( Staged/Changes, and vs remote version of current branch )
- Push
- Merge
- Fetch - callback support for progress etc.
- Fetch - error handling
- Authentication & SSH connections.
- Fetch - config to determine which remote to fetch from (allow remote other than origin)