A generic repository implementation for Eloquent models