Give the scripter the ability to call native entity events
Of course there's a chance that a script will break the expected behaviour of an entity, but that would give a lot more freedom