Merge last 3 versions together as they were
not released to pypi.
Refactor snapshot ready method to return the status code + update tests