instead of assigning back to `@opts`, use normal memoization here; something like:

```
@shared_frontend ||= validate_haproxy_config('shared frontend', 'frontend', @opts['shared_frontend']).map{|l| "\t#{l}"}
```