improve memory management: using map<name, shared_ptr<void> > instead of list of callbacks, removing old callbacks
added Options<T>::optionsStr() for anything not covered by other methods