Move ValueResult to its own file