wrap para in maybeCallback so it supports both interfaces