Handle timeouts appropriately
Additional implementation documentation
Make service take handler in constructor