Ideas and TODOs:

Replace default.css with Twitter Bootstrap + Tapestry extensions.

Include a new Java module that supports writing an exception log file on error.

New module to replace tapestry-yuicompressor that is based on WRO4J.

Merge PageCatalog and ServiceStatus into a Dashboard page
- make it extensible

Add way to have services self describe (for dashboard and/or exception report).

Add way for services to expose simple actions to the Dashboard (i.e., tie a UI button to a callback).

JavaScriptWrapper (.jsw) may not be needed after all, due to ShimModule.

Higher level way to assemble JavaScript inside ModuleManagerImpl and ability to feed it though minimizer? Probably not worth effort,
as minimizer may only shrink a few spaces.

Require that all assets be stored under MODULE-INF/assets/. Make @Inject @Path & related
code smart to check in both places (in 5.4) or just MODULE-INF/ in 5.5.
