Refactor GitHub communication to a service

GitHub #50