Marked all functional interfaces with @FunctionalInterface