new SystemOutWriter
clean up context
cache properties by group
add selector concept