Extracted gate-executor into separate module