Added the AbstractOptionsFactory & added the first test