Remove lock and add failing tests

With the desired behaviour now tested we can write the functionality.
Maybe need to add some more tests for situations?