Dots between identifiers without spaces are your usual key value coding 
keypath. 

{{ bag.a }}

If you leave spaces between the dots, the functionality expands, so
that you can interpose arbitrary objects

{# Then you can also interpose methods if you want  #}
{% z = [NSDictionary dictionaryWithObject:@"VfL Bochum 1848" forKey:@"c"] %}
{% y = [NSDictionary dictionaryWithObject:z forKey:@"b"] %}
{% x = [NSDictionary dictionaryWithObject:y forKey:@"a"] %}
{{ x . a . b .c }}

{{ x . a . [self objectForKey:@"b"] . c }}