Closed #55. Implemented IStartable and added argument-validation in many places.