Add id field to Service, to support multiple services running at the same time
Fix all warnings, enable -Werror