private Niacin(Class<?> klassInput, Class<?> klassFitness)
{
Optimize opt = getOptimization(klassFitness);
Vector<Variable<?>> variables = getVariables(klassInput);
Problem problem = new Problem(opt.name(), variables, opt.direction(), opt.trials());
Metaheuristic metaheuristic = MetaheuristicFactory.create(opt.method(), problem);
eventBus.register(NiacinEventHandler.initialise(klassInput, klassFitness, problem, metaheuristic));
}