Make the API of the static instantation more in line with constructor instantiation
Add FactoryMethodNotFoundListener to generate factory methods automatically