NumberIsPressed could accept Integer instead of "text". It's role of the adapter to pass the correct type to the domain object.