Fair.

I was going to pull in BB, but thought it would be small enough to add these bits and keep it as generic as possible, however I see the argument that the project, generally, has a dependency on BB, so I'm happy to do a refactor on this bit.