Improve API
*Created by: davidsowerby*
Current API is a bit obscure, and requires direct access to - for example - `GitRemote` to update issue labels
Would be clearer with delegated instances (using Kotlin) and a straightforward configure - execute() model.
Example: to update issue labels, currently have to access `GitRemote`
issue