There are lots of places where osc goes through a whole set of classes, instantiating and using them dynamically - most of the module stuff in fact. The vast majority of it is fine, but I just hit an oddity in admin/security_checks.php
  $secCheck = $$module['class']; The above didn't work any more assigning the $secCheck object to a previously instantiated object. Subsequent use throws: Warning: Creating default object from empty value in [...]/security_checks.php on line 82

Fatal error: Uncaught Error: Call to undefined method stdClass::pass() in [...]security_checks.php:87 Stack trace: #0 {main} thrown in [...]/security_checks.php on line 87   but $tmpclass = $module['class']; $secCheck = $$tmpclass; works fine.   Maybe it's a php bug, maybe it's a deliberate change. Either way, it might save someone the load of time I just spent on it!