Abstract piston to own module