Refactored to use dependent method types
Added Travis config