Java appliction for football league simulation (design patterns)