implemented before and after get and set, this is the basis for observing and eventing