* put in/out queue and an update loop so this can be used as a component in a larger system.
