register all classes at once in LUA environment
re-add pairwise container traversal
let ServerFactory return unique ptr instead of raw ptr