These two lines are running queries 3 times.  Granted PG will cache that, but still. `messageboard.topics.first` should be extracted to a single method where the topic object is memoized.