Refactered unique id for types, protcols and protocol methods. Now much simpler.