Why not make this a simple method instead of a mix of annotations and closures? I believe that would be easier to understand.