Simplify DecodeElements to barebones: framework not really needed