Refactor some of this
Can search with params

But this feels hacky
Works, but is a bit shit

I don't think the connection should be a class-level thing
Merge pull request #12 from pikesley/sensible-api

Sensible api