BREAKING-moved completion into its own library

Closes #5
v0.23.0