getting rid of unncessarily deep calls in callbacks