I am not exactly sure what you mean by no overlap, but would this work?
(P D) (H L) (K E) (J B) (C O) (F N) (G M) (A I)
(C L) (A D) (F B) (G E) (P I) (K M) (J N) (H O)
(G N) (F M) (A O) (C I) (J E) (H D) (P L) (K B)
(J M) (K N) (H I) (P O) (G B) (A L) (C D) (F E)
(H B) (P E) (J L) (K D) (A M) (G I) (F O) (C N)
(F I) (G O) (C M) (A N) (K L) (P B) (H E) (J D)
(A E) (C B) (G D) (F L) (H N) (J O) (K I) (P M)
(K O) (J I) (P N) (H M) (F D) (C E) (A B) (G L)
It is an 8x8 square with teams once per row and once per column, no matchup is repeated. If columns are events, then assign the last column to be the two teams with a bye.