Repository interface.

In relation to #7 it just makes my repository interfaces extend this. I usually make this for every project but it would be a nice to have.