Let's create a `start()` method to do all the job. Constructor should do as little work as possible so people can, e.g., overwrite the prototype properties of the instance before actually start it.