Recording Boulder

Hi all,

I am about to write my first app for Garmin watches. It is to record my boulder sessions.
I know there are already apps doing this but as far as I know they all require me to start and stop every single boulder and need to set grades. Way to much to push and press during an activity. My goal is that the app recognises when I am in a boulder and when I finished it. The app is mainly to count boulders and their height and may be a few more things. I nearly finished the basic tasks: I see when I am bouldering and when I am resting. I count the boulder and see their hight. I have a little chart, displaying them during the session.

All my questions are related to the following session configuration:
_activityRecording = ActivityRecording.createSession({
:sport=>Activity.SPORT_FLOOR_CLIMBING,
:subSport=>Activity.SUB_SPORT_BOULDERING,
:name=>"Bouldering"
});
a) Start / Stop Boulder
When I use this configuration, whenever I start the app, it immidiatly starts counting boulder and because I don't plan to use buttons the boulder stops when I stop the app. How can I programmatically start and stop boulder during a running session?
b) Hight of a boulder
When starting an activity, I see the altitude. But when starting at an altitude of lets say 400m then a boulder hight of 2 to 3 meters is not realy visible in the default views of CIQ web portal. In case of a) and I can manage every single boulder, is there a way of setting my own properties for this?
c) Custom FitContributions
When I work with the session settings from above, custom fitcontribution fields aren't displayed in CIQ web portal. But when I use :sport=>ActivityRecording.SPORT_GENERIC for session settings, they are perfectly shown.

Any help is appreciated
Thanks in advance