add support for attaching arbitrary state data to interfaces