Extract out all data parsing logic in to data parser

make this everything generic tomorrow

this may include posting logic too. boo

Maybe this should be in seperate branch