use classmethod for factories instead of staticmethod
See https://stackoverflow.com/questions/12179271/meaning-of-classmethod-and-staticmethod-for-beginner for example

Depends on: #790
use classmethod for factories instead of staticmethod: See https://stackoverflow.com/questions/12179271/meaning-of-classmethod-and-staticmethod-for-beginner for example

Depends on: #790