Third Attempt

Test coverage of spec, refactor of Update method