Use an IORef in Subject
Replace fmap lambda in 'subject' with composition
Always use the 'signal' function to create signals
Try to get to a consistent style