There is an option to create a custom enemy, item, etc from scratch but I would suggest one more option for the managers: Parent. I give an example. A parent can be taken only from built-in objects. If you choose no parent then you will create your custom in a normal way but if you choose for example Windor as a parent then your custom enemy acts like Windor but your custom changes will replace some old behavior. For example, all built in enemies have only 1 way to attack(no secondary fire). So if you set a primary custom projectile for the Windor then he will shoot it instead of built-in projectile made for the Windor.
If secondary fire defined then considering that Windor attacks once per teleport he would shoot a secondary projectile in the tenth teleport when "1 of 10" have been set for this projectile.
This also would allow us to affect built in objects via commands or affect the course by those by parenting those without changing and not touching built-in objects in real.