implemented intra-component data dependencies.
fix protocol implementation in 'defcomponent'.
added tests for protocol implementation in 'defcomponent'.
add decription of 'defcomponent' to README.md