Trying out a trait based approach suggested in response to the pull request

https://github.com/playframework/playframework/pull/967#issuecomment-19741970