adapdet idea
added documentation todos
added tests
found bug in AbstractAssembler for optional keys