[+] business rule engine base on specification pattern