Added interfaces for readers.
Small unit test update.

Unit test for multiple reads now uses the actual button in the
given param, rather than the param's index (which just happened
to be the same, by coincidence).