observers interface and abstract class
No more exit in command