Add prototype and container scope notion in service

* Add unit tests
* Add examples
* Update readme