Middleman framework