Convert to a more generalized emit system