cleanup and new callbacks for esilvm

i hope that I didn't forget anything
this has been removed in master, so this patch doesnt fits in current git.