Listen to agents created after addListener call
Make everything generic

Yeah, generic \[ಠ_ಠ]/