Why is setup optional here? It would be great to add a few lines comments to this class even if there's no documentation in the neighborhood. You've got to start somewhere.