location is now soley set in the constructor. Callback is internal only