Use a DTO to encapsulate access to a specification.

Signed-off-by: KayErikMuench <KayErikMuench@users.noreply.github.com>