In general it is called Fluent API so you could search for this, both this forum and google ;) Bit of docs are available as well.
As it comes for the events, external is used to mark that event is exposed to the outside world and can be used to signal the process instance from outside. If it is not external it is meant for internal engine communication.
HTH