Added once, after, wrap and compose functions and their tests