Look at this code, I have no idea what false, false, true conveys. $page->render(false, false, true); A pattern I often see in older code is an associative array as the single parameter. At least the intent is clear, but arrays lack IDE completion and type safety. $page->render([ 'footer' => false, 'header' => false, 'include_assets' => true, ]); After another round of refactoring, we might end up with a bunch of fluent methods on the object.