split out Closure invocations to their own method; also start adding docblocks