Lightweight argument parser