[services] Make 'supervision' and 'communication' services object

It makes the code a bit more generic, and allow furtherly to implement
asynchronous service