`(String a, String b) `tracefile on

To demonstrate various ways to composing complex pages with cached invoke

Each parts render themselves with own cache control

The outer most content is cached for 20 seconds, using the CacheFor annotation. ${new Date()}

this part is never cached: `invoke controllers.more.Portlets.panel1("\"never cached\"")`

this part is cached for 10 seconds. Note the timeout spec with invoke overrides CacheFor annotation. `a controllers.more.Portlets.panel2(b), "10s"

Let's evict the panel2 cache!

this part is cached for 4 seconds, specified with CacheFor annotation in the controller. `a controllers.more.Portlets.panel3(a + b)

Let's evict the panel3 cache!
`log "-- is this cool?"