Switched to early-finish method instead of per-threadcount techniques (suggested by vux)
Added Shape emitters