Go library for creating finite state machines