Support (de)composing input data for handlers

Opening this early to support discussion ...