Deck service, with tests