document more properties
use selector for observer, resolve asynchronicity issue