Add services abstraction and selective install