use only prime ids for listeners
use concurrent hash map to store listeners