(version 2):

* Component now become a shared resources keeper, not a state
* Split Source as different constructor
* Re-organize directories and test files
* Clock can work, again