Decorator pattern

Moved to a decorator pattern. Implemented return url and abstract
customer.