增加设置属性功能

属性列表改为 (id -> (getter, setter, listeners))，使用tuple实现