Design of base components + Clock

* Code improvement
* Clock implementation
* Tests
* License headers
I think it's important to cut all the methods. Thus, the subscriber will use subscribeClock and then startClock. It's also easier for testing independently the ClockChild actor.