library that helps you with the Strategy Pattern