Combine everything except for Guinness in a large bowl and mix well. Leave to marinate about 15 minutes. Drain off marinade and reserve.
Heat 4 tbs oil in a wok or deep pan till smoking hot. Add chicken and stir over high heat till browned. Pour in reserved marinade and continue stirring till sticky. Keep heat high.
Pour in Guinness and bring to the boil. Lower heat and simmer till liquid evaporates and chicken is cooked through and coated with thick and sticky gravy, but not falling off bones. Stir, scraping bottom and sides often to prevent sticking and scorching.
Serve on it's own or with rice, pasta or mashed potato.