Use static functions instead of static members to avoid initialization order trouble. A smart pointer is now used for the static memory allocation so that memory gets freed correctly before exit.
Update news and change log