Request End Handler bug? or bad docs?

So, the ColdBox docs say Request End Handler is called BEFORE views
are rendered:

http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbRequestLifecycle
...
Execute the handler.event()
Execute the handler.postHandler() event if it exists
Execute the postEvent Interceptors
Execute the Request End Handler if it exists <---- Supposedly executed here
Execute the preView Interceptors
Render the View/Layout Combinations
Execute the postView Interceptors
Execute the postProcess Interceptors

But debug output suggests otherwise:

02:19:15.655 PM 75 ms interception [afterConfigurationLoad] View
02:19:15.701 PM 38 ms interception [afterAspectsLoad] View
02:19:15.756 PM 1 ms invoking runEvent [main.onAppInit] View
02:19:15.757 PM 1 ms interception [preProcess] View
02:19:15.835 PM 77 ms invoking runEvent [main.onRequestStart] View
02:19:15.870 PM 0 ms interception [preEvent] View
02:19:31.426 PM 15550 ms invoking runEvent [home.index] View
02:19:31.434 PM 1 ms interception [postEvent] View
02:19:31.470 PM 12 ms rendering View [locale_selector.cfm] ...
02:19:31.848 PM 3 ms rendering View [home/terms.cfm] ...
02:19:31.852 PM 381 ms rendering View [home/register_form.cfm] ...
02:19:31.905 PM 26 ms rendering View [footer.cfm] ...
02:19:31.910 PM 454 ms rendering Layout [layout.homePage.cfm] ...
02:19:31.911 PM 0 ms invoking runEvent [main.onRequestEnd] View <---
Actually executed here
Total Framework Request Execution Time: 16219 ms

So, which is it? Are the docs wrong or is this a bug in CB3.0.0M4?

If the docs are wrong, then it looks like there's no *event* to hook
into in order to do post-handler / pre-view logic and instead I'm
going to need to use the postEvent / preView interception points (and
if there's nothing executed between them - despite what the docs says
- why are there two such interception points right next to each
other?).

The docs are the 2.6.4 docs which are just there left for archiving purposes: http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbRequestLifecycle

The new docs are in http://wiki.coldbox.org/wiki/RequestLifecycles.cfm but they have not been updated yet for 3.0 just yet.

The flow is:

Execute the preEvent Interceptors
Execute the handler.preHandler() event if it exists
Execute the handler.pre{Action} if it exists
Execute the handler.event()
Execute the handler.post{Action} if it exists
Execute the handler.postHandler() event if it exists
Execute the postEvent Interceptors

Execute the preLayout Interceptors
Render the View/Layout Combinations to renderedContent Variable
Execute the preRender Interceptors with the renderedContent
Output the RenderedContent
Execute the postRender Interceptors

Execute the requestEndHandler if it exists
Execute the postProcess interceptors

Also, each view has the following two interception points
preViewRender and postViewRender

Luis F. Majano
President
Ortus Solutions, Corp

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

So in conclusion, the docs are not updated just yet.
Luis F. Majano
President
Ortus Solutions, Corp

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com