model: improve property as model support
adapter/storage: update to use promises