Split eval functions out of frame.go. Added GroupNode to support variable parameters.