Initialize with any compatible object.
Improving tests, prepare for release.
Cleanup for commit.