Restructure BeanBuilder around value factories
Change back to static factory maps
Add support for paths with indexes