class_name StateNode extends Node var state_machine : StateMachine = null signal completed(state : StateNode) func enter() -> void: pass func exit() -> void: pass func execute(subject, ...args : Array) -> void: pass func complete_state() -> void: completed.emit(self)