It divided the BackendModel class into StoppableThread and BackendModel (issue #20). Also, it improved the testing coverage.