move utils functional interfaces to own packages. refactoring signatures in functional interfaces with exception. refactoring groovy tests.
Changed method signature to functional interface with exception.
Tests as examples for option and try.