Moved update into worker. Refactoring. Tests. Updated setup.