Obi devices

Adding @obihann's changes with a bit of clean up and specs. Just need to get some test data for fixtures and add some tests before merging.

It only took me nearly a year :-1: