support opts.id
implement listenTo()
2.1.2