Library class and separation of concerns