simplify implementation of MagicDevourTrigger
use default true constructor
wrap long expression
simplify using new Other factory method
add hasOptions in MagicEvent that delegates to MagicChoice
use MagicEvent.hasOptions instead of MagicChoice.hasOptions