Still working on a valid test.
Misunderstood move semantics, fixed.
Removed unused members, fix a few bugs.
Added some TODOs.