Interfaces and generic implementations of repository concerns.