do not use reflection in signal due to bad performance; emitter type must be registered manually