If this has no state, should it become a singleton object and use `include Singleton` ?