How can data be encapsulatedin an etherium transaction so that the block chain can record state of external system. Am I limited to using JavaScript type protocols. Are tools provided for this