More gate abstraction

Signed-off-by: Gerco van Heerdt <gercovanheerdt@gmail.com>