refactor pending op check to expose model::whenNothingPending and model::hasPending
inherit model properties by using the root