Created an Applicative interface for Signal, making it much less cumbersome to use