A Custom Event is an event that can be called from this behavior (using the
trigger event block), or as a response to messages that get sent by other behaviors (using one of the
trigger event ... in ... blocks). The former is like a function call. The latter is different from function calls since sending out a message doesn't specify a recipient, so multiple recipients could exist.
Lets you create a regular Custom Block.
Lets you create a global (static) Custom Block.
Not an event. Lets you insert arbitrary code into your behavior at the "class" level. You could use this to define functions or add class-level fields, for example. Use code blocks within this wrapper.
Not an event. Lets you add import statements to the beginning of your behavior's "class". Use code blocks within this wrapper.