An implementation of the repository & gateway design pattern for Laravel 4