#25 Complete switch to the new group api, refactor NodeState to be optional in groups and to become a default class instead of an interface