Observer

I think that you should be more specific - there is a reason for deposit to fail e.g. you try to deposit negative amount