Finished the PUT implementation. With tests.