A bunch of work on the implementation of external labels. Added more external reference tests. Changed existing test to use factory message. None of these tests pass yet.