separating requests from models
domain model for activity and link
command bus implementation
use only commands in controller