Finally, the last design goal for the API is that it should be possible for a library to use the mechanism without fear of conflicts with the main program. This allows 3 party code that uses the API to be linked into the application without conflict. While on the surface this appears to be obvious, several counter examples exist. Within a process, a signal may only have a single sig- nal handler registered, so library code typically can not use signals. X-window applications only allow for a sin- gle event loop. The existing select() and poll() calls do not have this problem, since they are stateless, but our new API, which moves.