  Modularity is the fundamental aspect of modern software engineering, however
many advanced modularity techniques requires prospective technologies as part
of development and operation process. In this paper, we present Refinable
Function, an object-oriented approach to advanced language-based, symmetric
modularity technique for the procedure. We conceptually compare Refinable
Function to existing technique to substantiate benefits of modularity can be
implemented in on well-established object-oriented language without compiler
support. We introduce concepts of inheritance, encapsulation, and polymorphism
of function for bringing object-orientation to procedure modularity and
describe the design and implementation of Refinable Function in JavaScript to
validate our approach to practical web application development. We introduce
the practical aspect of Refinable Function implementation by discussing
concerns of applying modularity on asynchronous processing. We tested and
implemented Refinable Function to substantiate its relevance to web application
development and product line implementation.
