hmm yeah, although I just swapped out the emits function with the one in shared to keep it DRY