A distributed, hierarchical and recurrent framework for reward-based choice