change usage of callback container and add the default generate feature