I know that for him to meet my expectations, I need to teach him and train him how to do it first. We began by cleaning together and we put everything in its home. One day I thought of a way to make it a little more fun - I made this short youtube playlist with some good songs for cleaning (disclaimer - some of them are slightly annoying and get stuck in your head!). So now when I tell him it's clean up time, I turn on the music and he is capable of doing it all by himself. Notice I said "capable" - meaning he can do it but doesn't always do it without more encouragement and help. At this point the event after clean up time dictates how quickly and thoroughly he cleans. For example, "clean up so we can watch a show" gets better results than "clean up so you can take a nap."
We typically do this routine before nap and bedtime. A couple of days ago it was time for nap and I was thinking that I'd just clean up for him since it was getting a little late in the afternoon. But when I told him it was story time (which we do before nap) he said "no, clean up first!" I wasn't going to argue with that, so I turned on the music and let him clean!
Here are some before and after shots of our pre-nap clean up time today: