Add AsyncGraphicsContext; Use goroutines in the main routine
Refactoring