added first implementation (without tests) of Try, some refactoring, new functional interface