I asked recently for some help making a pushable block, but I stumbled upon the answer myself after a bit of experimentation and thought I'd share my solution for anyone else who wants to do something similar.
It's basically a block you can push in a platformer (I'm using the PMO in this example) which uses a couple of detectors, and a fastloop allows more than one in the game at a time.
Here's the MFA file with comments to explain how it works: Pushable block PMO example.mfa
And here is the List Editor view of the program (minus the basic platform movement bit):
I hope this is helpful!