Rename mapping to emitters in constructor as was done at other places, make state a named tuple