Start setting SelfLink

I've gotta run so no promises that this will pass travis. This will make building events much easier.
This func is repeated in at least 2 places, may as well extract it out (and test it!)