Towards cleaning up protocol chains, then abstraction
Not sure yet about how many assumptions about 
structure are ok