Why are the function signatures separate from the actions that they help understand? You do include some description of the actions: good. But you do not identify the real domain action, instead you confuse it with the interaction that takes place ones you have the system-to-be. For example, there is the action of finding out about a building (whether that domain action is represented by clicking on the building on the map or by speaking to the app or by some other means, is irrelevant here). So, we could write getDetails(building: Building): BuildingDetails to capture this domain action. The fact that you then decide to trigger this functionality with a certain user interaction is not relevant at this point. That comes later.
Why are the function signatures separate from the actions that they help understand? You do include some description of the actions: good. But you do not identify the real domain action, instead you confuse it with the interaction that takes place ones you have the system-to-be. For example, there is the action of finding out about a building (whether that domain action is represented by clicking on the building on the map or by speaking to the app or by some other means, is irrelevant here). So, we could write getDetails(building: Building): BuildingDetails to capture this domain action. The fact that you then decide to trigger this functionality with a certain user interaction is not relevant at this point. That comes later.