Cli tests

Opening this up for further discussion. Closes #450.
```go
defer d.Close()
```