* fix: expand the IParameterModel interface
* fix: remove support for return types from the concrete procedure model
* feat: add an interface for the procedure map, and add getting procedures
* fix: add procedure map to workspace
* chore: format
* fix: add name parameter to procedure model to match parameter model
* chore: format
* chore: fix comments
* chore: add tests for the backing variable of parameter models
* chore: update existing procedure map tests
* chore: update block update tests to use refactored API
* chore: update tests to actually use fluent API
* chore: format
* chore: fix tests
* chore: reorganize tests
* chore: format
* chore: add comment
* fix: feedback on procedure model implementations
* chore: format
* chore: add tests for the backing variable of parameter models
* chore: update existing procedure map tests
* chore: update block update tests to use refactored API
* chore: update tests to actually use fluent API
* chore: format
* chore: fix tests
* chore: reorganize tests
* chore: format
* chore: add comment
* feat: implement basic observable procedure model
* feat: implement basic observable procedure model
* feat: implement basic observable parameter model
* feat: implement basic observable procedure map
* chore: format
* chore: refactor parameter model
* chore: update the observable procedure model to match interface
* chore: update the observable parameter model to match interface
* chore: update the observable procedure map
* chore: update concrete implementations to use this return type
* chore: format
* chore: remove legacy module IDs
* chore: fix typo