Added testing for TidePool. Refactored a little for ease of testing