Started implementing protocols
Merge branch 'api-rework-it2' of github.com:se1-1314/xiast into api-rework-it2