Note: This version is a simplified version of this gist; it removes all the unnecessary features (like validations, required parameters, etc).
DCI is a modeling pattern by Trygve Reenskaug, creator of MVC, that is a replacement of sorts for typical OOP.