Dynamic protocol construction