add property option `persist`
add property option `default`
simply plugin architecture