Laravel Design Patterns and Best Practices