Rename POWER_SOURCE macro to TICK_BOUNDARY
Add PISTON block