The fuck?
Its cancelable, and has a result and doesn't use the vanilla behavior?
The proper way to do this is to make the default value part of the costructor so that mods can query that.
If you want to use result then you need to use all values either ALLOW == return true always DENY == return false always DEFAULT == return the default value.

You're mixing canelable with result, stop it.