Major API revamp, it's nicer and uses more interfaces. Move things from
services to libs, drop the "go-native dependency injection" model