PHP 5.4 is now required. Factored out some methods into traits