Added tests. Added parsing options using callbacks