Added two new constructors and moved some access of the list and list variables inside of the lock.