Wouldn't chaining update functions be hard to do too, and most likely force a rewrite of most elements? The element IDs would have to be made dynamical so that stuff like checking whether a particular type is around the updating particle works with the alloys too. Currently they are implemented as macros inside ElementClasses.h. TL;DR: Neither merging code nor chaining functions is possible without mayor rewrites of the entire engine. It won't be done, get over it :P