Update API. Evented API and recursive checking